\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{1}{\frac{\mathsf{fma}\left(\cos y, \frac{\frac{3 \cdot 3 - 5}{3 + \sqrt{5}}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}{\frac{\mathsf{fma}\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right), \left(\sin y - 0.0625 \cdot \sin x\right) \cdot \left(\cos x - \cos y\right), 2\right)}{3}}}double f(double x, double y) {
double r209134 = 2.0;
double r209135 = sqrt(r209134);
double r209136 = x;
double r209137 = sin(r209136);
double r209138 = y;
double r209139 = sin(r209138);
double r209140 = 16.0;
double r209141 = r209139 / r209140;
double r209142 = r209137 - r209141;
double r209143 = r209135 * r209142;
double r209144 = r209137 / r209140;
double r209145 = r209139 - r209144;
double r209146 = r209143 * r209145;
double r209147 = cos(r209136);
double r209148 = cos(r209138);
double r209149 = r209147 - r209148;
double r209150 = r209146 * r209149;
double r209151 = r209134 + r209150;
double r209152 = 3.0;
double r209153 = 1.0;
double r209154 = 5.0;
double r209155 = sqrt(r209154);
double r209156 = r209155 - r209153;
double r209157 = r209156 / r209134;
double r209158 = r209157 * r209147;
double r209159 = r209153 + r209158;
double r209160 = r209152 - r209155;
double r209161 = r209160 / r209134;
double r209162 = r209161 * r209148;
double r209163 = r209159 + r209162;
double r209164 = r209152 * r209163;
double r209165 = r209151 / r209164;
return r209165;
}
double f(double x, double y) {
double r209166 = 1.0;
double r209167 = y;
double r209168 = cos(r209167);
double r209169 = 3.0;
double r209170 = r209169 * r209169;
double r209171 = 5.0;
double r209172 = r209170 - r209171;
double r209173 = sqrt(r209171);
double r209174 = r209169 + r209173;
double r209175 = r209172 / r209174;
double r209176 = 2.0;
double r209177 = r209175 / r209176;
double r209178 = x;
double r209179 = cos(r209178);
double r209180 = 1.0;
double r209181 = r209173 - r209180;
double r209182 = r209181 / r209176;
double r209183 = fma(r209179, r209182, r209180);
double r209184 = fma(r209168, r209177, r209183);
double r209185 = sqrt(r209176);
double r209186 = sin(r209178);
double r209187 = sin(r209167);
double r209188 = 16.0;
double r209189 = r209187 / r209188;
double r209190 = r209186 - r209189;
double r209191 = r209185 * r209190;
double r209192 = 0.0625;
double r209193 = r209192 * r209186;
double r209194 = r209187 - r209193;
double r209195 = r209179 - r209168;
double r209196 = r209194 * r209195;
double r209197 = fma(r209191, r209196, r209176);
double r209198 = r209197 / r209169;
double r209199 = r209184 / r209198;
double r209200 = r209166 / r209199;
return r209200;
}



Bits error versus x



Bits error versus y
Initial program 0.5
Simplified0.4
rmApplied flip--0.5
Simplified0.4
rmApplied clear-num0.5
Taylor expanded around inf 0.5
Final simplification0.5
herbie shell --seed 2019306 +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))))))