\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 r177620 = 2.0;
double r177621 = sqrt(r177620);
double r177622 = x;
double r177623 = sin(r177622);
double r177624 = y;
double r177625 = sin(r177624);
double r177626 = 16.0;
double r177627 = r177625 / r177626;
double r177628 = r177623 - r177627;
double r177629 = r177621 * r177628;
double r177630 = r177623 / r177626;
double r177631 = r177625 - r177630;
double r177632 = r177629 * r177631;
double r177633 = cos(r177622);
double r177634 = cos(r177624);
double r177635 = r177633 - r177634;
double r177636 = r177632 * r177635;
double r177637 = r177620 + r177636;
double r177638 = 3.0;
double r177639 = 1.0;
double r177640 = 5.0;
double r177641 = sqrt(r177640);
double r177642 = r177641 - r177639;
double r177643 = r177642 / r177620;
double r177644 = r177643 * r177633;
double r177645 = r177639 + r177644;
double r177646 = r177638 - r177641;
double r177647 = r177646 / r177620;
double r177648 = r177647 * r177634;
double r177649 = r177645 + r177648;
double r177650 = r177638 * r177649;
double r177651 = r177637 / r177650;
return r177651;
}
double f(double x, double y) {
double r177652 = 2.0;
double r177653 = sqrt(r177652);
double r177654 = x;
double r177655 = sin(r177654);
double r177656 = y;
double r177657 = sin(r177656);
double r177658 = 16.0;
double r177659 = r177657 / r177658;
double r177660 = r177655 - r177659;
double r177661 = r177653 * r177660;
double r177662 = r177655 / r177658;
double r177663 = r177657 - r177662;
double r177664 = cos(r177654);
double r177665 = cos(r177656);
double r177666 = r177664 - r177665;
double r177667 = r177663 * r177666;
double r177668 = fma(r177661, r177667, r177652);
double r177669 = 3.0;
double r177670 = cbrt(r177669);
double r177671 = r177670 * r177670;
double r177672 = 5.0;
double r177673 = cbrt(r177672);
double r177674 = sqrt(r177673);
double r177675 = r177673 * r177673;
double r177676 = sqrt(r177675);
double r177677 = r177674 * r177676;
double r177678 = -r177677;
double r177679 = fma(r177671, r177670, r177678);
double r177680 = fabs(r177673);
double r177681 = -r177680;
double r177682 = r177681 + r177680;
double r177683 = r177674 * r177682;
double r177684 = r177679 + r177683;
double r177685 = r177684 / r177652;
double r177686 = sqrt(r177672);
double r177687 = 1.0;
double r177688 = r177686 - r177687;
double r177689 = r177688 / r177652;
double r177690 = fma(r177689, r177664, r177687);
double r177691 = fma(r177685, r177665, r177690);
double r177692 = r177668 / r177691;
double r177693 = r177692 / r177669;
return r177693;
}



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