\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 r211559 = 2.0;
double r211560 = sqrt(r211559);
double r211561 = x;
double r211562 = sin(r211561);
double r211563 = y;
double r211564 = sin(r211563);
double r211565 = 16.0;
double r211566 = r211564 / r211565;
double r211567 = r211562 - r211566;
double r211568 = r211560 * r211567;
double r211569 = r211562 / r211565;
double r211570 = r211564 - r211569;
double r211571 = r211568 * r211570;
double r211572 = cos(r211561);
double r211573 = cos(r211563);
double r211574 = r211572 - r211573;
double r211575 = r211571 * r211574;
double r211576 = r211559 + r211575;
double r211577 = 3.0;
double r211578 = 1.0;
double r211579 = 5.0;
double r211580 = sqrt(r211579);
double r211581 = r211580 - r211578;
double r211582 = r211581 / r211559;
double r211583 = r211582 * r211572;
double r211584 = r211578 + r211583;
double r211585 = r211577 - r211580;
double r211586 = r211585 / r211559;
double r211587 = r211586 * r211573;
double r211588 = r211584 + r211587;
double r211589 = r211577 * r211588;
double r211590 = r211576 / r211589;
return r211590;
}
double f(double x, double y) {
double r211591 = 2.0;
double r211592 = sqrt(r211591);
double r211593 = x;
double r211594 = sin(r211593);
double r211595 = y;
double r211596 = sin(r211595);
double r211597 = 16.0;
double r211598 = r211596 / r211597;
double r211599 = r211594 - r211598;
double r211600 = r211592 * r211599;
double r211601 = r211594 / r211597;
double r211602 = r211596 - r211601;
double r211603 = r211600 * r211602;
double r211604 = cos(r211593);
double r211605 = cos(r211595);
double r211606 = r211604 - r211605;
double r211607 = r211603 * r211606;
double r211608 = r211591 + r211607;
double r211609 = 3.0;
double r211610 = 1.0;
double r211611 = 5.0;
double r211612 = sqrt(r211611);
double r211613 = r211612 - r211610;
double r211614 = r211613 / r211591;
double r211615 = r211614 * r211604;
double r211616 = r211610 + r211615;
double r211617 = cbrt(r211609);
double r211618 = r211617 * r211617;
double r211619 = cbrt(r211611);
double r211620 = sqrt(r211619);
double r211621 = r211619 * r211619;
double r211622 = sqrt(r211621);
double r211623 = r211620 * r211622;
double r211624 = -r211623;
double r211625 = fma(r211618, r211617, r211624);
double r211626 = fabs(r211619);
double r211627 = -r211626;
double r211628 = r211627 + r211626;
double r211629 = r211620 * r211628;
double r211630 = r211625 + r211629;
double r211631 = r211630 / r211591;
double r211632 = r211631 * r211605;
double r211633 = r211616 + r211632;
double r211634 = r211609 * r211633;
double r211635 = r211608 / r211634;
return r211635;
}



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 2019353 +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))))))