\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(\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{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right) + \sqrt{\sqrt[3]{5}} \cdot \left(\left(-\left|\sqrt[3]{5}\right|\right) + \left|\sqrt[3]{5}\right|\right)}{2} \cdot \cos y\right)}double f(double x, double y) {
double r186243 = 2.0;
double r186244 = sqrt(r186243);
double r186245 = x;
double r186246 = sin(r186245);
double r186247 = y;
double r186248 = sin(r186247);
double r186249 = 16.0;
double r186250 = r186248 / r186249;
double r186251 = r186246 - r186250;
double r186252 = r186244 * r186251;
double r186253 = r186246 / r186249;
double r186254 = r186248 - r186253;
double r186255 = r186252 * r186254;
double r186256 = cos(r186245);
double r186257 = cos(r186247);
double r186258 = r186256 - r186257;
double r186259 = r186255 * r186258;
double r186260 = r186243 + r186259;
double r186261 = 3.0;
double r186262 = 1.0;
double r186263 = 5.0;
double r186264 = sqrt(r186263);
double r186265 = r186264 - r186262;
double r186266 = r186265 / r186243;
double r186267 = r186266 * r186256;
double r186268 = r186262 + r186267;
double r186269 = r186261 - r186264;
double r186270 = r186269 / r186243;
double r186271 = r186270 * r186257;
double r186272 = r186268 + r186271;
double r186273 = r186261 * r186272;
double r186274 = r186260 / r186273;
return r186274;
}
double f(double x, double y) {
double r186275 = 2.0;
double r186276 = sqrt(r186275);
double r186277 = x;
double r186278 = sin(r186277);
double r186279 = y;
double r186280 = sin(r186279);
double r186281 = 16.0;
double r186282 = r186280 / r186281;
double r186283 = r186278 - r186282;
double r186284 = r186276 * r186283;
double r186285 = r186278 / r186281;
double r186286 = r186280 - r186285;
double r186287 = r186284 * r186286;
double r186288 = cos(r186277);
double r186289 = cos(r186279);
double r186290 = r186288 - r186289;
double r186291 = r186287 * r186290;
double r186292 = r186275 + r186291;
double r186293 = 3.0;
double r186294 = 1.0;
double r186295 = 5.0;
double r186296 = sqrt(r186295);
double r186297 = r186296 - r186294;
double r186298 = r186297 / r186275;
double r186299 = r186298 * r186288;
double r186300 = r186294 + r186299;
double r186301 = cbrt(r186293);
double r186302 = r186301 * r186301;
double r186303 = cbrt(r186295);
double r186304 = sqrt(r186303);
double r186305 = r186303 * r186303;
double r186306 = sqrt(r186305);
double r186307 = r186304 * r186306;
double r186308 = -r186307;
double r186309 = fma(r186302, r186301, r186308);
double r186310 = fabs(r186303);
double r186311 = -r186310;
double r186312 = r186311 + r186310;
double r186313 = r186304 * r186312;
double r186314 = r186309 + r186313;
double r186315 = r186314 / r186275;
double r186316 = r186315 * r186289;
double r186317 = r186300 + r186316;
double r186318 = r186293 * r186317;
double r186319 = r186292 / r186318;
return r186319;
}



Bits error versus x



Bits error versus y
Initial program 0.5
rmApplied add-cube-cbrt0.6
Applied sqrt-prod0.6
Applied add-cube-cbrt0.6
Applied prod-diff0.4
Simplified0.5
Final simplification0.5
herbie shell --seed 2020021 +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))))))