\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{\frac{\mathsf{fma}\left(\log \left(e^{\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)}\right), \left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right), 2\right)}{3}}{\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)}double f(double x, double y) {
double r153449 = 2.0;
double r153450 = sqrt(r153449);
double r153451 = x;
double r153452 = sin(r153451);
double r153453 = y;
double r153454 = sin(r153453);
double r153455 = 16.0;
double r153456 = r153454 / r153455;
double r153457 = r153452 - r153456;
double r153458 = r153450 * r153457;
double r153459 = r153452 / r153455;
double r153460 = r153454 - r153459;
double r153461 = r153458 * r153460;
double r153462 = cos(r153451);
double r153463 = cos(r153453);
double r153464 = r153462 - r153463;
double r153465 = r153461 * r153464;
double r153466 = r153449 + r153465;
double r153467 = 3.0;
double r153468 = 1.0;
double r153469 = 5.0;
double r153470 = sqrt(r153469);
double r153471 = r153470 - r153468;
double r153472 = r153471 / r153449;
double r153473 = r153472 * r153462;
double r153474 = r153468 + r153473;
double r153475 = r153467 - r153470;
double r153476 = r153475 / r153449;
double r153477 = r153476 * r153463;
double r153478 = r153474 + r153477;
double r153479 = r153467 * r153478;
double r153480 = r153466 / r153479;
return r153480;
}
double f(double x, double y) {
double r153481 = 2.0;
double r153482 = sqrt(r153481);
double r153483 = x;
double r153484 = sin(r153483);
double r153485 = y;
double r153486 = sin(r153485);
double r153487 = 16.0;
double r153488 = r153486 / r153487;
double r153489 = r153484 - r153488;
double r153490 = r153482 * r153489;
double r153491 = exp(r153490);
double r153492 = log(r153491);
double r153493 = r153484 / r153487;
double r153494 = r153486 - r153493;
double r153495 = cos(r153483);
double r153496 = cos(r153485);
double r153497 = r153495 - r153496;
double r153498 = r153494 * r153497;
double r153499 = fma(r153492, r153498, r153481);
double r153500 = 3.0;
double r153501 = r153499 / r153500;
double r153502 = r153500 * r153500;
double r153503 = 5.0;
double r153504 = r153502 - r153503;
double r153505 = sqrt(r153503);
double r153506 = r153500 + r153505;
double r153507 = r153504 / r153506;
double r153508 = r153507 / r153481;
double r153509 = 1.0;
double r153510 = r153505 - r153509;
double r153511 = r153510 / r153481;
double r153512 = fma(r153495, r153511, r153509);
double r153513 = fma(r153496, r153508, r153512);
double r153514 = r153501 / r153513;
return r153514;
}



Bits error versus x



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