\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(\log \left(e^{\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)}double f(double x, double y) {
double r220706 = 2.0;
double r220707 = sqrt(r220706);
double r220708 = x;
double r220709 = sin(r220708);
double r220710 = y;
double r220711 = sin(r220710);
double r220712 = 16.0;
double r220713 = r220711 / r220712;
double r220714 = r220709 - r220713;
double r220715 = r220707 * r220714;
double r220716 = r220709 / r220712;
double r220717 = r220711 - r220716;
double r220718 = r220715 * r220717;
double r220719 = cos(r220708);
double r220720 = cos(r220710);
double r220721 = r220719 - r220720;
double r220722 = r220718 * r220721;
double r220723 = r220706 + r220722;
double r220724 = 3.0;
double r220725 = 1.0;
double r220726 = 5.0;
double r220727 = sqrt(r220726);
double r220728 = r220727 - r220725;
double r220729 = r220728 / r220706;
double r220730 = r220729 * r220719;
double r220731 = r220725 + r220730;
double r220732 = r220724 - r220727;
double r220733 = r220732 / r220706;
double r220734 = r220733 * r220720;
double r220735 = r220731 + r220734;
double r220736 = r220724 * r220735;
double r220737 = r220723 / r220736;
return r220737;
}
double f(double x, double y) {
double r220738 = 2.0;
double r220739 = sqrt(r220738);
double r220740 = x;
double r220741 = sin(r220740);
double r220742 = y;
double r220743 = sin(r220742);
double r220744 = 16.0;
double r220745 = r220743 / r220744;
double r220746 = r220741 - r220745;
double r220747 = r220739 * r220746;
double r220748 = exp(r220747);
double r220749 = log(r220748);
double r220750 = r220741 / r220744;
double r220751 = r220743 - r220750;
double r220752 = r220749 * r220751;
double r220753 = cos(r220740);
double r220754 = cos(r220742);
double r220755 = r220753 - r220754;
double r220756 = r220752 * r220755;
double r220757 = r220738 + r220756;
double r220758 = 3.0;
double r220759 = 1.0;
double r220760 = 5.0;
double r220761 = sqrt(r220760);
double r220762 = r220761 - r220759;
double r220763 = r220762 / r220738;
double r220764 = r220763 * r220753;
double r220765 = r220759 + r220764;
double r220766 = r220758 - r220761;
double r220767 = r220766 / r220738;
double r220768 = r220767 * r220754;
double r220769 = r220765 + r220768;
double r220770 = r220758 * r220769;
double r220771 = r220757 / r220770;
return r220771;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied add-log-exp0.5
Final simplification0.5
herbie shell --seed 2020001
(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))))))