\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(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\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 r176323 = 2.0;
double r176324 = sqrt(r176323);
double r176325 = x;
double r176326 = sin(r176325);
double r176327 = y;
double r176328 = sin(r176327);
double r176329 = 16.0;
double r176330 = r176328 / r176329;
double r176331 = r176326 - r176330;
double r176332 = r176324 * r176331;
double r176333 = r176326 / r176329;
double r176334 = r176328 - r176333;
double r176335 = r176332 * r176334;
double r176336 = cos(r176325);
double r176337 = cos(r176327);
double r176338 = r176336 - r176337;
double r176339 = r176335 * r176338;
double r176340 = r176323 + r176339;
double r176341 = 3.0;
double r176342 = 1.0;
double r176343 = 5.0;
double r176344 = sqrt(r176343);
double r176345 = r176344 - r176342;
double r176346 = r176345 / r176323;
double r176347 = r176346 * r176336;
double r176348 = r176342 + r176347;
double r176349 = r176341 - r176344;
double r176350 = r176349 / r176323;
double r176351 = r176350 * r176337;
double r176352 = r176348 + r176351;
double r176353 = r176341 * r176352;
double r176354 = r176340 / r176353;
return r176354;
}
double f(double x, double y) {
double r176355 = 2.0;
double r176356 = sqrt(r176355);
double r176357 = x;
double r176358 = sin(r176357);
double r176359 = y;
double r176360 = sin(r176359);
double r176361 = 16.0;
double r176362 = r176360 / r176361;
double r176363 = r176358 - r176362;
double r176364 = r176356 * r176363;
double r176365 = r176358 / r176361;
double r176366 = r176360 - r176365;
double r176367 = cos(r176357);
double r176368 = cos(r176359);
double r176369 = r176367 - r176368;
double r176370 = r176366 * r176369;
double r176371 = fma(r176364, r176370, r176355);
double r176372 = 3.0;
double r176373 = r176371 / r176372;
double r176374 = r176372 * r176372;
double r176375 = 5.0;
double r176376 = r176374 - r176375;
double r176377 = sqrt(r176375);
double r176378 = r176372 + r176377;
double r176379 = r176376 / r176378;
double r176380 = r176379 / r176355;
double r176381 = 1.0;
double r176382 = r176377 - r176381;
double r176383 = r176382 / r176355;
double r176384 = fma(r176367, r176383, r176381);
double r176385 = fma(r176368, r176380, r176384);
double r176386 = r176373 / r176385;
return r176386;
}



Bits error versus x



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