\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(\frac{\sin y - \frac{\sin x}{16}}{2} \cdot \left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) + \log \left(\sqrt{e^{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}}\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 r210775 = 2.0;
double r210776 = sqrt(r210775);
double r210777 = x;
double r210778 = sin(r210777);
double r210779 = y;
double r210780 = sin(r210779);
double r210781 = 16.0;
double r210782 = r210780 / r210781;
double r210783 = r210778 - r210782;
double r210784 = r210776 * r210783;
double r210785 = r210778 / r210781;
double r210786 = r210780 - r210785;
double r210787 = r210784 * r210786;
double r210788 = cos(r210777);
double r210789 = cos(r210779);
double r210790 = r210788 - r210789;
double r210791 = r210787 * r210790;
double r210792 = r210775 + r210791;
double r210793 = 3.0;
double r210794 = 1.0;
double r210795 = 5.0;
double r210796 = sqrt(r210795);
double r210797 = r210796 - r210794;
double r210798 = r210797 / r210775;
double r210799 = r210798 * r210788;
double r210800 = r210794 + r210799;
double r210801 = r210793 - r210796;
double r210802 = r210801 / r210775;
double r210803 = r210802 * r210789;
double r210804 = r210800 + r210803;
double r210805 = r210793 * r210804;
double r210806 = r210792 / r210805;
return r210806;
}
double f(double x, double y) {
double r210807 = 2.0;
double r210808 = y;
double r210809 = sin(r210808);
double r210810 = x;
double r210811 = sin(r210810);
double r210812 = 16.0;
double r210813 = r210811 / r210812;
double r210814 = r210809 - r210813;
double r210815 = 2.0;
double r210816 = r210814 / r210815;
double r210817 = sqrt(r210807);
double r210818 = r210809 / r210812;
double r210819 = r210811 - r210818;
double r210820 = r210817 * r210819;
double r210821 = r210816 * r210820;
double r210822 = r210820 * r210814;
double r210823 = exp(r210822);
double r210824 = sqrt(r210823);
double r210825 = log(r210824);
double r210826 = r210821 + r210825;
double r210827 = cos(r210810);
double r210828 = cos(r210808);
double r210829 = r210827 - r210828;
double r210830 = r210826 * r210829;
double r210831 = r210807 + r210830;
double r210832 = 3.0;
double r210833 = 1.0;
double r210834 = 5.0;
double r210835 = sqrt(r210834);
double r210836 = r210835 - r210833;
double r210837 = r210836 / r210807;
double r210838 = r210837 * r210827;
double r210839 = r210833 + r210838;
double r210840 = r210832 - r210835;
double r210841 = r210840 / r210807;
double r210842 = r210841 * r210828;
double r210843 = r210839 + r210842;
double r210844 = r210832 * r210843;
double r210845 = r210831 / r210844;
return r210845;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied add-log-exp0.5
rmApplied add-sqr-sqrt0.5
Applied log-prod0.5
rmApplied add-log-exp0.5
Applied exp-to-pow0.5
Applied sqrt-pow10.5
Applied log-pow0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020027
(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))))))