\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(\frac{{\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}}{\mathsf{fma}\left(\cos x, \cos x, \cos y \cdot \left(\cos x + \cos y\right)\right)}, \left(\left(\sqrt{2} \cdot \left(\sqrt[3]{\sin x - \frac{\sin y}{16}} \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\right)\right) \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\right) \cdot \left(\sin y - \frac{\sin x}{16}\right), 2\right)}{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 r206093 = 2.0;
double r206094 = sqrt(r206093);
double r206095 = x;
double r206096 = sin(r206095);
double r206097 = y;
double r206098 = sin(r206097);
double r206099 = 16.0;
double r206100 = r206098 / r206099;
double r206101 = r206096 - r206100;
double r206102 = r206094 * r206101;
double r206103 = r206096 / r206099;
double r206104 = r206098 - r206103;
double r206105 = r206102 * r206104;
double r206106 = cos(r206095);
double r206107 = cos(r206097);
double r206108 = r206106 - r206107;
double r206109 = r206105 * r206108;
double r206110 = r206093 + r206109;
double r206111 = 3.0;
double r206112 = 1.0;
double r206113 = 5.0;
double r206114 = sqrt(r206113);
double r206115 = r206114 - r206112;
double r206116 = r206115 / r206093;
double r206117 = r206116 * r206106;
double r206118 = r206112 + r206117;
double r206119 = r206111 - r206114;
double r206120 = r206119 / r206093;
double r206121 = r206120 * r206107;
double r206122 = r206118 + r206121;
double r206123 = r206111 * r206122;
double r206124 = r206110 / r206123;
return r206124;
}
double f(double x, double y) {
double r206125 = x;
double r206126 = cos(r206125);
double r206127 = 3.0;
double r206128 = pow(r206126, r206127);
double r206129 = y;
double r206130 = cos(r206129);
double r206131 = pow(r206130, r206127);
double r206132 = r206128 - r206131;
double r206133 = r206126 + r206130;
double r206134 = r206130 * r206133;
double r206135 = fma(r206126, r206126, r206134);
double r206136 = r206132 / r206135;
double r206137 = 2.0;
double r206138 = sqrt(r206137);
double r206139 = sin(r206125);
double r206140 = sin(r206129);
double r206141 = 16.0;
double r206142 = r206140 / r206141;
double r206143 = r206139 - r206142;
double r206144 = cbrt(r206143);
double r206145 = r206144 * r206144;
double r206146 = r206138 * r206145;
double r206147 = r206146 * r206144;
double r206148 = r206139 / r206141;
double r206149 = r206140 - r206148;
double r206150 = r206147 * r206149;
double r206151 = fma(r206136, r206150, r206137);
double r206152 = 3.0;
double r206153 = r206151 / r206152;
double r206154 = 5.0;
double r206155 = sqrt(r206154);
double r206156 = r206152 - r206155;
double r206157 = r206156 / r206137;
double r206158 = 1.0;
double r206159 = r206155 - r206158;
double r206160 = r206159 / r206137;
double r206161 = fma(r206126, r206160, r206158);
double r206162 = fma(r206130, r206157, r206161);
double r206163 = r206153 / r206162;
return r206163;
}



Bits error versus x



Bits error versus y
Initial program 0.5
Simplified0.4
rmApplied flip3--0.4
Simplified0.4
rmApplied add-cube-cbrt0.5
Applied associate-*r*0.5
Final simplification0.5
herbie shell --seed 2020042 +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))))))