\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)}\mathsf{fma}\left(\sqrt{2} \cdot \mathsf{fma}\left(\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}, \sqrt[3]{\sin x}, -{\left(\frac{\sqrt[3]{\sin y}}{\left(\sqrt[3]{\sqrt[3]{16}} \cdot \sqrt[3]{\sqrt[3]{16}}\right) \cdot \sqrt[3]{\sqrt[3]{16}}}\right)}^{3}\right) + \left(\left(-{\left(\frac{\sqrt[3]{\sin y}}{\sqrt[3]{16}}\right)}^{3}\right) + {\left(\frac{\sqrt[3]{\sin y}}{\sqrt[3]{16}}\right)}^{3}\right) \cdot \sqrt{2}, \left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right), 2\right) \cdot \frac{\frac{1}{3}}{\mathsf{fma}\left(\cos y, \frac{3 - \sqrt{5}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}double f(double x, double y) {
double r169674 = 2.0;
double r169675 = sqrt(r169674);
double r169676 = x;
double r169677 = sin(r169676);
double r169678 = y;
double r169679 = sin(r169678);
double r169680 = 16.0;
double r169681 = r169679 / r169680;
double r169682 = r169677 - r169681;
double r169683 = r169675 * r169682;
double r169684 = r169677 / r169680;
double r169685 = r169679 - r169684;
double r169686 = r169683 * r169685;
double r169687 = cos(r169676);
double r169688 = cos(r169678);
double r169689 = r169687 - r169688;
double r169690 = r169686 * r169689;
double r169691 = r169674 + r169690;
double r169692 = 3.0;
double r169693 = 1.0;
double r169694 = 5.0;
double r169695 = sqrt(r169694);
double r169696 = r169695 - r169693;
double r169697 = r169696 / r169674;
double r169698 = r169697 * r169687;
double r169699 = r169693 + r169698;
double r169700 = r169692 - r169695;
double r169701 = r169700 / r169674;
double r169702 = r169701 * r169688;
double r169703 = r169699 + r169702;
double r169704 = r169692 * r169703;
double r169705 = r169691 / r169704;
return r169705;
}
double f(double x, double y) {
double r169706 = 2.0;
double r169707 = sqrt(r169706);
double r169708 = x;
double r169709 = sin(r169708);
double r169710 = cbrt(r169709);
double r169711 = r169710 * r169710;
double r169712 = y;
double r169713 = sin(r169712);
double r169714 = cbrt(r169713);
double r169715 = 16.0;
double r169716 = cbrt(r169715);
double r169717 = cbrt(r169716);
double r169718 = r169717 * r169717;
double r169719 = r169718 * r169717;
double r169720 = r169714 / r169719;
double r169721 = 3.0;
double r169722 = pow(r169720, r169721);
double r169723 = -r169722;
double r169724 = fma(r169711, r169710, r169723);
double r169725 = r169707 * r169724;
double r169726 = r169714 / r169716;
double r169727 = pow(r169726, r169721);
double r169728 = -r169727;
double r169729 = r169728 + r169727;
double r169730 = r169729 * r169707;
double r169731 = r169725 + r169730;
double r169732 = r169709 / r169715;
double r169733 = r169713 - r169732;
double r169734 = cos(r169708);
double r169735 = cos(r169712);
double r169736 = r169734 - r169735;
double r169737 = r169733 * r169736;
double r169738 = fma(r169731, r169737, r169706);
double r169739 = 1.0;
double r169740 = 3.0;
double r169741 = r169739 / r169740;
double r169742 = 5.0;
double r169743 = sqrt(r169742);
double r169744 = r169740 - r169743;
double r169745 = r169744 / r169706;
double r169746 = 1.0;
double r169747 = r169743 - r169746;
double r169748 = r169747 / r169706;
double r169749 = fma(r169734, r169748, r169746);
double r169750 = fma(r169735, r169745, r169749);
double r169751 = r169741 / r169750;
double r169752 = r169738 * r169751;
return r169752;
}



Bits error versus x



Bits error versus y
Initial program 0.5
Simplified0.4
rmApplied *-un-lft-identity0.4
Applied div-inv0.5
Applied times-frac0.5
Simplified0.5
rmApplied add-cube-cbrt0.5
Applied add-cube-cbrt0.5
Applied times-frac0.5
Applied add-cube-cbrt0.5
Applied prod-diff0.5
Applied distribute-rgt-in0.5
Simplified0.5
Simplified0.5
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2019209 +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))))))