\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(\left(\sqrt{\sqrt{2}} \cdot \log \left(e^{\sqrt{\sqrt{2}} \cdot \left(\sin x - \frac{\sin y}{16}\right)}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \log \left(e^{\cos x - \cos y}\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 r189265 = 2.0;
double r189266 = sqrt(r189265);
double r189267 = x;
double r189268 = sin(r189267);
double r189269 = y;
double r189270 = sin(r189269);
double r189271 = 16.0;
double r189272 = r189270 / r189271;
double r189273 = r189268 - r189272;
double r189274 = r189266 * r189273;
double r189275 = r189268 / r189271;
double r189276 = r189270 - r189275;
double r189277 = r189274 * r189276;
double r189278 = cos(r189267);
double r189279 = cos(r189269);
double r189280 = r189278 - r189279;
double r189281 = r189277 * r189280;
double r189282 = r189265 + r189281;
double r189283 = 3.0;
double r189284 = 1.0;
double r189285 = 5.0;
double r189286 = sqrt(r189285);
double r189287 = r189286 - r189284;
double r189288 = r189287 / r189265;
double r189289 = r189288 * r189278;
double r189290 = r189284 + r189289;
double r189291 = r189283 - r189286;
double r189292 = r189291 / r189265;
double r189293 = r189292 * r189279;
double r189294 = r189290 + r189293;
double r189295 = r189283 * r189294;
double r189296 = r189282 / r189295;
return r189296;
}
double f(double x, double y) {
double r189297 = 2.0;
double r189298 = sqrt(r189297);
double r189299 = sqrt(r189298);
double r189300 = x;
double r189301 = sin(r189300);
double r189302 = y;
double r189303 = sin(r189302);
double r189304 = 16.0;
double r189305 = r189303 / r189304;
double r189306 = r189301 - r189305;
double r189307 = r189299 * r189306;
double r189308 = exp(r189307);
double r189309 = log(r189308);
double r189310 = r189299 * r189309;
double r189311 = r189301 / r189304;
double r189312 = r189303 - r189311;
double r189313 = r189310 * r189312;
double r189314 = cos(r189300);
double r189315 = cos(r189302);
double r189316 = r189314 - r189315;
double r189317 = exp(r189316);
double r189318 = log(r189317);
double r189319 = r189313 * r189318;
double r189320 = r189297 + r189319;
double r189321 = 3.0;
double r189322 = 1.0;
double r189323 = 5.0;
double r189324 = sqrt(r189323);
double r189325 = r189324 - r189322;
double r189326 = r189325 / r189297;
double r189327 = r189326 * r189314;
double r189328 = r189322 + r189327;
double r189329 = r189321 * r189321;
double r189330 = r189329 - r189323;
double r189331 = r189321 + r189324;
double r189332 = r189330 / r189331;
double r189333 = r189332 / r189297;
double r189334 = r189333 * r189315;
double r189335 = r189328 + r189334;
double r189336 = r189321 * r189335;
double r189337 = r189320 / r189336;
return r189337;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.4
rmApplied add-sqr-sqrt0.4
Applied sqrt-prod0.4
Applied associate-*l*0.4
rmApplied add-log-exp0.4
Applied add-log-exp0.4
Applied diff-log0.4
Simplified0.4
rmApplied add-log-exp0.4
Final simplification0.4
herbie shell --seed 2019198
(FPCore (x y)
:name "Diagrams.TwoD.Path.Metafont.Internal:hobbyF from diagrams-contrib-1.3.0.5"
(/ (+ 2.0 (* (* (* (sqrt 2.0) (- (sin x) (/ (sin y) 16.0))) (- (sin y) (/ (sin x) 16.0))) (- (cos x) (cos y)))) (* 3.0 (+ (+ 1.0 (* (/ (- (sqrt 5.0) 1.0) 2.0) (cos x))) (* (/ (- 3.0 (sqrt 5.0)) 2.0) (cos y))))))