\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(\cos x - \cos y\right) \cdot \left(\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}\right)\right) + 2}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 - 5}{\sqrt{5} + 3}}{2} \cdot \cos y\right)}double f(double x, double y) {
double r11349312 = 2.0;
double r11349313 = sqrt(r11349312);
double r11349314 = x;
double r11349315 = sin(r11349314);
double r11349316 = y;
double r11349317 = sin(r11349316);
double r11349318 = 16.0;
double r11349319 = r11349317 / r11349318;
double r11349320 = r11349315 - r11349319;
double r11349321 = r11349313 * r11349320;
double r11349322 = r11349315 / r11349318;
double r11349323 = r11349317 - r11349322;
double r11349324 = r11349321 * r11349323;
double r11349325 = cos(r11349314);
double r11349326 = cos(r11349316);
double r11349327 = r11349325 - r11349326;
double r11349328 = r11349324 * r11349327;
double r11349329 = r11349312 + r11349328;
double r11349330 = 3.0;
double r11349331 = 1.0;
double r11349332 = 5.0;
double r11349333 = sqrt(r11349332);
double r11349334 = r11349333 - r11349331;
double r11349335 = r11349334 / r11349312;
double r11349336 = r11349335 * r11349325;
double r11349337 = r11349331 + r11349336;
double r11349338 = r11349330 - r11349333;
double r11349339 = r11349338 / r11349312;
double r11349340 = r11349339 * r11349326;
double r11349341 = r11349337 + r11349340;
double r11349342 = r11349330 * r11349341;
double r11349343 = r11349329 / r11349342;
return r11349343;
}
double f(double x, double y) {
double r11349344 = x;
double r11349345 = cos(r11349344);
double r11349346 = y;
double r11349347 = cos(r11349346);
double r11349348 = r11349345 - r11349347;
double r11349349 = sin(r11349346);
double r11349350 = sin(r11349344);
double r11349351 = 16.0;
double r11349352 = r11349350 / r11349351;
double r11349353 = r11349349 - r11349352;
double r11349354 = r11349349 / r11349351;
double r11349355 = r11349350 - r11349354;
double r11349356 = 2.0;
double r11349357 = sqrt(r11349356);
double r11349358 = r11349355 * r11349357;
double r11349359 = r11349353 * r11349358;
double r11349360 = r11349348 * r11349359;
double r11349361 = r11349360 + r11349356;
double r11349362 = 3.0;
double r11349363 = 1.0;
double r11349364 = 5.0;
double r11349365 = sqrt(r11349364);
double r11349366 = r11349365 - r11349363;
double r11349367 = r11349366 / r11349356;
double r11349368 = r11349367 * r11349345;
double r11349369 = r11349363 + r11349368;
double r11349370 = r11349362 * r11349362;
double r11349371 = r11349370 - r11349364;
double r11349372 = r11349365 + r11349362;
double r11349373 = r11349371 / r11349372;
double r11349374 = r11349373 / r11349356;
double r11349375 = r11349374 * r11349347;
double r11349376 = r11349369 + r11349375;
double r11349377 = r11349362 * r11349376;
double r11349378 = r11349361 / r11349377;
return r11349378;
}



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 rem-log-exp0.5
Final simplification0.5
herbie shell --seed 2019179
(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))))))