\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(\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(\sqrt[3]{\cos x - \cos y} \cdot \left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right)\right)}\right)}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 + \left(-5\right)}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}double f(double x, double y) {
double r241445 = 2.0;
double r241446 = sqrt(r241445);
double r241447 = x;
double r241448 = sin(r241447);
double r241449 = y;
double r241450 = sin(r241449);
double r241451 = 16.0;
double r241452 = r241450 / r241451;
double r241453 = r241448 - r241452;
double r241454 = r241446 * r241453;
double r241455 = r241448 / r241451;
double r241456 = r241450 - r241455;
double r241457 = r241454 * r241456;
double r241458 = cos(r241447);
double r241459 = cos(r241449);
double r241460 = r241458 - r241459;
double r241461 = r241457 * r241460;
double r241462 = r241445 + r241461;
double r241463 = 3.0;
double r241464 = 1.0;
double r241465 = 5.0;
double r241466 = sqrt(r241465);
double r241467 = r241466 - r241464;
double r241468 = r241467 / r241445;
double r241469 = r241468 * r241458;
double r241470 = r241464 + r241469;
double r241471 = r241463 - r241466;
double r241472 = r241471 / r241445;
double r241473 = r241472 * r241459;
double r241474 = r241470 + r241473;
double r241475 = r241463 * r241474;
double r241476 = r241462 / r241475;
return r241476;
}
double f(double x, double y) {
double r241477 = 2.0;
double r241478 = sqrt(r241477);
double r241479 = x;
double r241480 = sin(r241479);
double r241481 = y;
double r241482 = sin(r241481);
double r241483 = 16.0;
double r241484 = r241482 / r241483;
double r241485 = r241480 - r241484;
double r241486 = r241478 * r241485;
double r241487 = r241480 / r241483;
double r241488 = r241482 - r241487;
double r241489 = r241486 * r241488;
double r241490 = cos(r241479);
double r241491 = cos(r241481);
double r241492 = r241490 - r241491;
double r241493 = cbrt(r241492);
double r241494 = r241493 * r241493;
double r241495 = r241493 * r241494;
double r241496 = r241489 * r241495;
double r241497 = exp(r241496);
double r241498 = log(r241497);
double r241499 = r241477 + r241498;
double r241500 = 3.0;
double r241501 = 1.0;
double r241502 = 5.0;
double r241503 = sqrt(r241502);
double r241504 = r241503 - r241501;
double r241505 = r241504 / r241477;
double r241506 = r241505 * r241490;
double r241507 = r241501 + r241506;
double r241508 = r241500 * r241500;
double r241509 = -r241502;
double r241510 = r241508 + r241509;
double r241511 = r241500 + r241503;
double r241512 = r241510 / r241511;
double r241513 = r241512 / r241477;
double r241514 = r241513 * r241491;
double r241515 = r241507 + r241514;
double r241516 = r241500 * r241515;
double r241517 = r241499 / r241516;
return r241517;
}



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
Applied add-log-exp0.5
Applied diff-log0.5
Simplified0.5
rmApplied add-cube-cbrt0.5
Applied exp-prod0.5
Applied log-pow0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020020
(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))))))