\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 r255240 = 2.0;
double r255241 = sqrt(r255240);
double r255242 = x;
double r255243 = sin(r255242);
double r255244 = y;
double r255245 = sin(r255244);
double r255246 = 16.0;
double r255247 = r255245 / r255246;
double r255248 = r255243 - r255247;
double r255249 = r255241 * r255248;
double r255250 = r255243 / r255246;
double r255251 = r255245 - r255250;
double r255252 = r255249 * r255251;
double r255253 = cos(r255242);
double r255254 = cos(r255244);
double r255255 = r255253 - r255254;
double r255256 = r255252 * r255255;
double r255257 = r255240 + r255256;
double r255258 = 3.0;
double r255259 = 1.0;
double r255260 = 5.0;
double r255261 = sqrt(r255260);
double r255262 = r255261 - r255259;
double r255263 = r255262 / r255240;
double r255264 = r255263 * r255253;
double r255265 = r255259 + r255264;
double r255266 = r255258 - r255261;
double r255267 = r255266 / r255240;
double r255268 = r255267 * r255254;
double r255269 = r255265 + r255268;
double r255270 = r255258 * r255269;
double r255271 = r255257 / r255270;
return r255271;
}
double f(double x, double y) {
double r255272 = 2.0;
double r255273 = sqrt(r255272);
double r255274 = x;
double r255275 = sin(r255274);
double r255276 = y;
double r255277 = sin(r255276);
double r255278 = 16.0;
double r255279 = r255277 / r255278;
double r255280 = r255275 - r255279;
double r255281 = r255273 * r255280;
double r255282 = exp(r255281);
double r255283 = log(r255282);
double r255284 = r255275 / r255278;
double r255285 = r255277 - r255284;
double r255286 = r255283 * r255285;
double r255287 = cos(r255274);
double r255288 = cos(r255276);
double r255289 = r255287 - r255288;
double r255290 = r255286 * r255289;
double r255291 = r255272 + r255290;
double r255292 = 3.0;
double r255293 = 1.0;
double r255294 = 5.0;
double r255295 = sqrt(r255294);
double r255296 = r255295 - r255293;
double r255297 = r255296 / r255272;
double r255298 = r255297 * r255287;
double r255299 = r255293 + r255298;
double r255300 = r255292 - r255295;
double r255301 = r255300 / r255272;
double r255302 = r255301 * r255288;
double r255303 = r255299 + r255302;
double r255304 = r255292 * r255303;
double r255305 = r255291 / r255304;
return r255305;
}



Bits error versus x



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