\frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0 \cdot \left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{3.0 - \sqrt{5.0}}{2.0} \cdot \cos y\right)}\frac{\frac{\left(\cos x - \cos y\right) \cdot \left(\left(\sin y - \frac{\sin x}{16.0}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16.0}\right) \cdot \sqrt{2.0}\right)\right) + 2.0}{3.0}}{\left(1.0 + \sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}} \cdot \left(\cos x \cdot \sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}}\right)\right) + \cos y \cdot \frac{\frac{3.0 \cdot 3.0 - 5.0}{3.0 + \sqrt{5.0}}}{2.0}}double f(double x, double y) {
double r13187437 = 2.0;
double r13187438 = sqrt(r13187437);
double r13187439 = x;
double r13187440 = sin(r13187439);
double r13187441 = y;
double r13187442 = sin(r13187441);
double r13187443 = 16.0;
double r13187444 = r13187442 / r13187443;
double r13187445 = r13187440 - r13187444;
double r13187446 = r13187438 * r13187445;
double r13187447 = r13187440 / r13187443;
double r13187448 = r13187442 - r13187447;
double r13187449 = r13187446 * r13187448;
double r13187450 = cos(r13187439);
double r13187451 = cos(r13187441);
double r13187452 = r13187450 - r13187451;
double r13187453 = r13187449 * r13187452;
double r13187454 = r13187437 + r13187453;
double r13187455 = 3.0;
double r13187456 = 1.0;
double r13187457 = 5.0;
double r13187458 = sqrt(r13187457);
double r13187459 = r13187458 - r13187456;
double r13187460 = r13187459 / r13187437;
double r13187461 = r13187460 * r13187450;
double r13187462 = r13187456 + r13187461;
double r13187463 = r13187455 - r13187458;
double r13187464 = r13187463 / r13187437;
double r13187465 = r13187464 * r13187451;
double r13187466 = r13187462 + r13187465;
double r13187467 = r13187455 * r13187466;
double r13187468 = r13187454 / r13187467;
return r13187468;
}
double f(double x, double y) {
double r13187469 = x;
double r13187470 = cos(r13187469);
double r13187471 = y;
double r13187472 = cos(r13187471);
double r13187473 = r13187470 - r13187472;
double r13187474 = sin(r13187471);
double r13187475 = sin(r13187469);
double r13187476 = 16.0;
double r13187477 = r13187475 / r13187476;
double r13187478 = r13187474 - r13187477;
double r13187479 = r13187474 / r13187476;
double r13187480 = r13187475 - r13187479;
double r13187481 = 2.0;
double r13187482 = sqrt(r13187481);
double r13187483 = r13187480 * r13187482;
double r13187484 = r13187478 * r13187483;
double r13187485 = r13187473 * r13187484;
double r13187486 = r13187485 + r13187481;
double r13187487 = 3.0;
double r13187488 = r13187486 / r13187487;
double r13187489 = 1.0;
double r13187490 = 5.0;
double r13187491 = sqrt(r13187490);
double r13187492 = r13187491 - r13187489;
double r13187493 = r13187492 / r13187481;
double r13187494 = sqrt(r13187493);
double r13187495 = r13187470 * r13187494;
double r13187496 = r13187494 * r13187495;
double r13187497 = r13187489 + r13187496;
double r13187498 = r13187487 * r13187487;
double r13187499 = r13187498 - r13187490;
double r13187500 = r13187487 + r13187491;
double r13187501 = r13187499 / r13187500;
double r13187502 = r13187501 / r13187481;
double r13187503 = r13187472 * r13187502;
double r13187504 = r13187497 + r13187503;
double r13187505 = r13187488 / r13187504;
return r13187505;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.5
rmApplied associate-/r*0.4
rmApplied add-sqr-sqrt0.5
Applied associate-*l*0.4
Final simplification0.4
herbie shell --seed 2019165
(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))))))