\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 \cdot 2 - \left(\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)\right) \cdot \left(\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)\right)}{\left(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)\right) \cdot \left(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)\right)}double f(double x, double y) {
double r192544 = 2.0;
double r192545 = sqrt(r192544);
double r192546 = x;
double r192547 = sin(r192546);
double r192548 = y;
double r192549 = sin(r192548);
double r192550 = 16.0;
double r192551 = r192549 / r192550;
double r192552 = r192547 - r192551;
double r192553 = r192545 * r192552;
double r192554 = r192547 / r192550;
double r192555 = r192549 - r192554;
double r192556 = r192553 * r192555;
double r192557 = cos(r192546);
double r192558 = cos(r192548);
double r192559 = r192557 - r192558;
double r192560 = r192556 * r192559;
double r192561 = r192544 + r192560;
double r192562 = 3.0;
double r192563 = 1.0;
double r192564 = 5.0;
double r192565 = sqrt(r192564);
double r192566 = r192565 - r192563;
double r192567 = r192566 / r192544;
double r192568 = r192567 * r192557;
double r192569 = r192563 + r192568;
double r192570 = r192562 - r192565;
double r192571 = r192570 / r192544;
double r192572 = r192571 * r192558;
double r192573 = r192569 + r192572;
double r192574 = r192562 * r192573;
double r192575 = r192561 / r192574;
return r192575;
}
double f(double x, double y) {
double r192576 = 2.0;
double r192577 = r192576 * r192576;
double r192578 = sqrt(r192576);
double r192579 = x;
double r192580 = sin(r192579);
double r192581 = y;
double r192582 = sin(r192581);
double r192583 = 16.0;
double r192584 = r192582 / r192583;
double r192585 = r192580 - r192584;
double r192586 = r192578 * r192585;
double r192587 = r192580 / r192583;
double r192588 = r192582 - r192587;
double r192589 = r192586 * r192588;
double r192590 = cos(r192579);
double r192591 = cos(r192581);
double r192592 = r192590 - r192591;
double r192593 = r192589 * r192592;
double r192594 = r192593 * r192593;
double r192595 = r192577 - r192594;
double r192596 = 3.0;
double r192597 = 1.0;
double r192598 = 5.0;
double r192599 = sqrt(r192598);
double r192600 = r192599 - r192597;
double r192601 = r192600 / r192576;
double r192602 = r192601 * r192590;
double r192603 = r192597 + r192602;
double r192604 = r192596 * r192596;
double r192605 = r192604 - r192598;
double r192606 = r192596 + r192599;
double r192607 = r192605 / r192606;
double r192608 = r192607 / r192576;
double r192609 = r192608 * r192591;
double r192610 = r192603 + r192609;
double r192611 = r192596 * r192610;
double r192612 = r192576 - r192593;
double r192613 = r192611 * r192612;
double r192614 = r192595 / r192613;
return r192614;
}



Bits error versus x



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