\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 \left(\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 \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)}double f(double x, double y) {
double r139304 = 2.0;
double r139305 = sqrt(r139304);
double r139306 = x;
double r139307 = sin(r139306);
double r139308 = y;
double r139309 = sin(r139308);
double r139310 = 16.0;
double r139311 = r139309 / r139310;
double r139312 = r139307 - r139311;
double r139313 = r139305 * r139312;
double r139314 = r139307 / r139310;
double r139315 = r139309 - r139314;
double r139316 = r139313 * r139315;
double r139317 = cos(r139306);
double r139318 = cos(r139308);
double r139319 = r139317 - r139318;
double r139320 = r139316 * r139319;
double r139321 = r139304 + r139320;
double r139322 = 3.0;
double r139323 = 1.0;
double r139324 = 5.0;
double r139325 = sqrt(r139324);
double r139326 = r139325 - r139323;
double r139327 = r139326 / r139304;
double r139328 = r139327 * r139317;
double r139329 = r139323 + r139328;
double r139330 = r139322 - r139325;
double r139331 = r139330 / r139304;
double r139332 = r139331 * r139318;
double r139333 = r139329 + r139332;
double r139334 = r139322 * r139333;
double r139335 = r139321 / r139334;
return r139335;
}
double f(double x, double y) {
double r139336 = 2.0;
double r139337 = sqrt(r139336);
double r139338 = sqrt(r139337);
double r139339 = x;
double r139340 = sin(r139339);
double r139341 = y;
double r139342 = sin(r139341);
double r139343 = 16.0;
double r139344 = r139342 / r139343;
double r139345 = r139340 - r139344;
double r139346 = r139338 * r139345;
double r139347 = r139338 * r139346;
double r139348 = r139340 / r139343;
double r139349 = r139342 - r139348;
double r139350 = r139347 * r139349;
double r139351 = cos(r139339);
double r139352 = cos(r139341);
double r139353 = r139351 - r139352;
double r139354 = r139350 * r139353;
double r139355 = r139336 + r139354;
double r139356 = 3.0;
double r139357 = 1.0;
double r139358 = 5.0;
double r139359 = sqrt(r139358);
double r139360 = r139359 - r139357;
double r139361 = r139360 / r139336;
double r139362 = r139361 * r139351;
double r139363 = r139357 + r139362;
double r139364 = r139356 - r139359;
double r139365 = r139364 / r139336;
double r139366 = r139365 * r139352;
double r139367 = r139363 + r139366;
double r139368 = r139356 * r139367;
double r139369 = r139355 / r139368;
return r139369;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied add-sqr-sqrt0.5
Applied sqrt-prod0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2019323
(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))))))