\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(\cos x - \cos y\right) \cdot \left(\left(\sqrt[3]{\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}\right)} \cdot \sqrt[3]{\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}\right)}\right) \cdot \sqrt[3]{\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}\right)}\right)}{3 \cdot \left(\frac{\frac{3 \cdot 3 - 5}{\sqrt{5} + 3}}{2} \cdot \cos y + \left(1 + \left(\frac{\sqrt{5} - 1}{\sqrt{2}} \cdot \cos x\right) \cdot \frac{1}{\sqrt{2}}\right)\right)}double f(double x, double y) {
double r10059297 = 2.0;
double r10059298 = sqrt(r10059297);
double r10059299 = x;
double r10059300 = sin(r10059299);
double r10059301 = y;
double r10059302 = sin(r10059301);
double r10059303 = 16.0;
double r10059304 = r10059302 / r10059303;
double r10059305 = r10059300 - r10059304;
double r10059306 = r10059298 * r10059305;
double r10059307 = r10059300 / r10059303;
double r10059308 = r10059302 - r10059307;
double r10059309 = r10059306 * r10059308;
double r10059310 = cos(r10059299);
double r10059311 = cos(r10059301);
double r10059312 = r10059310 - r10059311;
double r10059313 = r10059309 * r10059312;
double r10059314 = r10059297 + r10059313;
double r10059315 = 3.0;
double r10059316 = 1.0;
double r10059317 = 5.0;
double r10059318 = sqrt(r10059317);
double r10059319 = r10059318 - r10059316;
double r10059320 = r10059319 / r10059297;
double r10059321 = r10059320 * r10059310;
double r10059322 = r10059316 + r10059321;
double r10059323 = r10059315 - r10059318;
double r10059324 = r10059323 / r10059297;
double r10059325 = r10059324 * r10059311;
double r10059326 = r10059322 + r10059325;
double r10059327 = r10059315 * r10059326;
double r10059328 = r10059314 / r10059327;
return r10059328;
}
double f(double x, double y) {
double r10059329 = 2.0;
double r10059330 = x;
double r10059331 = cos(r10059330);
double r10059332 = y;
double r10059333 = cos(r10059332);
double r10059334 = r10059331 - r10059333;
double r10059335 = sin(r10059332);
double r10059336 = sin(r10059330);
double r10059337 = 16.0;
double r10059338 = r10059336 / r10059337;
double r10059339 = r10059335 - r10059338;
double r10059340 = r10059335 / r10059337;
double r10059341 = r10059336 - r10059340;
double r10059342 = sqrt(r10059329);
double r10059343 = r10059341 * r10059342;
double r10059344 = r10059339 * r10059343;
double r10059345 = cbrt(r10059344);
double r10059346 = r10059345 * r10059345;
double r10059347 = r10059346 * r10059345;
double r10059348 = r10059334 * r10059347;
double r10059349 = r10059329 + r10059348;
double r10059350 = 3.0;
double r10059351 = r10059350 * r10059350;
double r10059352 = 5.0;
double r10059353 = r10059351 - r10059352;
double r10059354 = sqrt(r10059352);
double r10059355 = r10059354 + r10059350;
double r10059356 = r10059353 / r10059355;
double r10059357 = r10059356 / r10059329;
double r10059358 = r10059357 * r10059333;
double r10059359 = 1.0;
double r10059360 = r10059354 - r10059359;
double r10059361 = r10059360 / r10059342;
double r10059362 = r10059361 * r10059331;
double r10059363 = 1.0;
double r10059364 = r10059363 / r10059342;
double r10059365 = r10059362 * r10059364;
double r10059366 = r10059359 + r10059365;
double r10059367 = r10059358 + r10059366;
double r10059368 = r10059350 * r10059367;
double r10059369 = r10059349 / r10059368;
return r10059369;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.4
rmApplied add-sqr-sqrt0.5
Applied *-un-lft-identity0.5
Applied times-frac0.5
Applied associate-*l*0.4
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2019171
(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))))))