\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 + \log \left(e^{\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)}\right)}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 - 5}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}double f(double x, double y) {
double r251296 = 2.0;
double r251297 = sqrt(r251296);
double r251298 = x;
double r251299 = sin(r251298);
double r251300 = y;
double r251301 = sin(r251300);
double r251302 = 16.0;
double r251303 = r251301 / r251302;
double r251304 = r251299 - r251303;
double r251305 = r251297 * r251304;
double r251306 = r251299 / r251302;
double r251307 = r251301 - r251306;
double r251308 = r251305 * r251307;
double r251309 = cos(r251298);
double r251310 = cos(r251300);
double r251311 = r251309 - r251310;
double r251312 = r251308 * r251311;
double r251313 = r251296 + r251312;
double r251314 = 3.0;
double r251315 = 1.0;
double r251316 = 5.0;
double r251317 = sqrt(r251316);
double r251318 = r251317 - r251315;
double r251319 = r251318 / r251296;
double r251320 = r251319 * r251309;
double r251321 = r251315 + r251320;
double r251322 = r251314 - r251317;
double r251323 = r251322 / r251296;
double r251324 = r251323 * r251310;
double r251325 = r251321 + r251324;
double r251326 = r251314 * r251325;
double r251327 = r251313 / r251326;
return r251327;
}
double f(double x, double y) {
double r251328 = 2.0;
double r251329 = sqrt(r251328);
double r251330 = x;
double r251331 = sin(r251330);
double r251332 = y;
double r251333 = sin(r251332);
double r251334 = 16.0;
double r251335 = r251333 / r251334;
double r251336 = r251331 - r251335;
double r251337 = r251329 * r251336;
double r251338 = exp(r251337);
double r251339 = log(r251338);
double r251340 = r251331 / r251334;
double r251341 = r251333 - r251340;
double r251342 = r251339 * r251341;
double r251343 = cos(r251330);
double r251344 = cos(r251332);
double r251345 = r251343 - r251344;
double r251346 = r251342 * r251345;
double r251347 = exp(r251346);
double r251348 = log(r251347);
double r251349 = r251328 + r251348;
double r251350 = 3.0;
double r251351 = 1.0;
double r251352 = 5.0;
double r251353 = sqrt(r251352);
double r251354 = r251353 - r251351;
double r251355 = r251354 / r251328;
double r251356 = r251355 * r251343;
double r251357 = r251351 + r251356;
double r251358 = r251350 * r251350;
double r251359 = r251358 - r251352;
double r251360 = r251350 + r251353;
double r251361 = r251359 / r251360;
double r251362 = r251361 / r251328;
double r251363 = r251362 * r251344;
double r251364 = r251357 + r251363;
double r251365 = r251350 * r251364;
double r251366 = r251349 / r251365;
return r251366;
}



Bits error versus x



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