\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{\frac{\mathsf{fma}\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right), \left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right), 2\right)}{\mathsf{fma}\left(\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}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}double f(double x, double y) {
double r190592 = 2.0;
double r190593 = sqrt(r190592);
double r190594 = x;
double r190595 = sin(r190594);
double r190596 = y;
double r190597 = sin(r190596);
double r190598 = 16.0;
double r190599 = r190597 / r190598;
double r190600 = r190595 - r190599;
double r190601 = r190593 * r190600;
double r190602 = r190595 / r190598;
double r190603 = r190597 - r190602;
double r190604 = r190601 * r190603;
double r190605 = cos(r190594);
double r190606 = cos(r190596);
double r190607 = r190605 - r190606;
double r190608 = r190604 * r190607;
double r190609 = r190592 + r190608;
double r190610 = 3.0;
double r190611 = 1.0;
double r190612 = 5.0;
double r190613 = sqrt(r190612);
double r190614 = r190613 - r190611;
double r190615 = r190614 / r190592;
double r190616 = r190615 * r190605;
double r190617 = r190611 + r190616;
double r190618 = r190610 - r190613;
double r190619 = r190618 / r190592;
double r190620 = r190619 * r190606;
double r190621 = r190617 + r190620;
double r190622 = r190610 * r190621;
double r190623 = r190609 / r190622;
return r190623;
}
double f(double x, double y) {
double r190624 = 2.0;
double r190625 = sqrt(r190624);
double r190626 = x;
double r190627 = sin(r190626);
double r190628 = y;
double r190629 = sin(r190628);
double r190630 = 16.0;
double r190631 = r190629 / r190630;
double r190632 = r190627 - r190631;
double r190633 = r190625 * r190632;
double r190634 = r190627 / r190630;
double r190635 = r190629 - r190634;
double r190636 = cos(r190626);
double r190637 = cos(r190628);
double r190638 = r190636 - r190637;
double r190639 = r190635 * r190638;
double r190640 = fma(r190633, r190639, r190624);
double r190641 = 3.0;
double r190642 = cbrt(r190641);
double r190643 = r190642 * r190642;
double r190644 = 5.0;
double r190645 = cbrt(r190644);
double r190646 = sqrt(r190645);
double r190647 = r190645 * r190645;
double r190648 = sqrt(r190647);
double r190649 = r190646 * r190648;
double r190650 = -r190649;
double r190651 = fma(r190643, r190642, r190650);
double r190652 = fabs(r190645);
double r190653 = -r190652;
double r190654 = r190653 + r190652;
double r190655 = r190646 * r190654;
double r190656 = r190651 + r190655;
double r190657 = r190656 / r190624;
double r190658 = sqrt(r190644);
double r190659 = 1.0;
double r190660 = r190658 - r190659;
double r190661 = r190660 / r190624;
double r190662 = fma(r190661, r190636, r190659);
double r190663 = fma(r190657, r190637, r190662);
double r190664 = r190640 / r190663;
double r190665 = r190664 / r190641;
return r190665;
}



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.5
Simplified0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020036 +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))))))