\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(\mathsf{fma}\left(\sqrt{2}, \left(\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}\right) \cdot \sqrt[3]{\sin x}, \sqrt{2} \cdot \frac{-{\left(\sqrt[3]{\sin y}\right)}^{3}}{16}\right) + \mathsf{fma}\left(\sqrt{2}, \frac{-{\left(\sqrt[3]{\sin y}\right)}^{3}}{16}, \sqrt{2} \cdot \frac{\sqrt[3]{\sin y} \cdot \left(\sqrt[3]{\sin y} \cdot \sqrt[3]{\sin y}\right)}{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)}double f(double x, double y) {
double r157565 = 2.0;
double r157566 = sqrt(r157565);
double r157567 = x;
double r157568 = sin(r157567);
double r157569 = y;
double r157570 = sin(r157569);
double r157571 = 16.0;
double r157572 = r157570 / r157571;
double r157573 = r157568 - r157572;
double r157574 = r157566 * r157573;
double r157575 = r157568 / r157571;
double r157576 = r157570 - r157575;
double r157577 = r157574 * r157576;
double r157578 = cos(r157567);
double r157579 = cos(r157569);
double r157580 = r157578 - r157579;
double r157581 = r157577 * r157580;
double r157582 = r157565 + r157581;
double r157583 = 3.0;
double r157584 = 1.0;
double r157585 = 5.0;
double r157586 = sqrt(r157585);
double r157587 = r157586 - r157584;
double r157588 = r157587 / r157565;
double r157589 = r157588 * r157578;
double r157590 = r157584 + r157589;
double r157591 = r157583 - r157586;
double r157592 = r157591 / r157565;
double r157593 = r157592 * r157579;
double r157594 = r157590 + r157593;
double r157595 = r157583 * r157594;
double r157596 = r157582 / r157595;
return r157596;
}
double f(double x, double y) {
double r157597 = 2.0;
double r157598 = sqrt(r157597);
double r157599 = x;
double r157600 = sin(r157599);
double r157601 = cbrt(r157600);
double r157602 = r157601 * r157601;
double r157603 = r157602 * r157601;
double r157604 = y;
double r157605 = sin(r157604);
double r157606 = cbrt(r157605);
double r157607 = 3.0;
double r157608 = pow(r157606, r157607);
double r157609 = -r157608;
double r157610 = 16.0;
double r157611 = r157609 / r157610;
double r157612 = r157598 * r157611;
double r157613 = fma(r157598, r157603, r157612);
double r157614 = r157606 * r157606;
double r157615 = r157606 * r157614;
double r157616 = r157615 / r157610;
double r157617 = r157598 * r157616;
double r157618 = fma(r157598, r157611, r157617);
double r157619 = r157613 + r157618;
double r157620 = r157600 / r157610;
double r157621 = r157605 - r157620;
double r157622 = r157619 * r157621;
double r157623 = cos(r157599);
double r157624 = cos(r157604);
double r157625 = r157623 - r157624;
double r157626 = r157622 * r157625;
double r157627 = r157597 + r157626;
double r157628 = 3.0;
double r157629 = 1.0;
double r157630 = 5.0;
double r157631 = sqrt(r157630);
double r157632 = r157631 - r157629;
double r157633 = r157632 / r157597;
double r157634 = r157633 * r157623;
double r157635 = r157629 + r157634;
double r157636 = r157628 - r157631;
double r157637 = r157636 / r157597;
double r157638 = r157637 * r157624;
double r157639 = r157635 + r157638;
double r157640 = r157628 * r157639;
double r157641 = r157627 / r157640;
return r157641;
}



Bits error versus x



Bits error versus y
Initial program 0.5
rmApplied add-sqr-sqrt0.5
Applied sqrt-prod0.5
Applied associate-*l*0.5
rmApplied *-un-lft-identity0.5
Applied add-cube-cbrt0.5
Applied times-frac0.5
Applied add-cube-cbrt0.5
Applied prod-diff0.5
Applied distribute-lft-in0.5
Applied distribute-lft-in0.5
Simplified0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020083 +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))))))