\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(\sqrt[3]{\log \left(e^{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right)} \cdot \sqrt[3]{\log \left(e^{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right)}\right) \cdot \left(\sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)} \cdot \left(\cos x - \cos y\right)\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 r224302 = 2.0;
double r224303 = sqrt(r224302);
double r224304 = x;
double r224305 = sin(r224304);
double r224306 = y;
double r224307 = sin(r224306);
double r224308 = 16.0;
double r224309 = r224307 / r224308;
double r224310 = r224305 - r224309;
double r224311 = r224303 * r224310;
double r224312 = r224305 / r224308;
double r224313 = r224307 - r224312;
double r224314 = r224311 * r224313;
double r224315 = cos(r224304);
double r224316 = cos(r224306);
double r224317 = r224315 - r224316;
double r224318 = r224314 * r224317;
double r224319 = r224302 + r224318;
double r224320 = 3.0;
double r224321 = 1.0;
double r224322 = 5.0;
double r224323 = sqrt(r224322);
double r224324 = r224323 - r224321;
double r224325 = r224324 / r224302;
double r224326 = r224325 * r224315;
double r224327 = r224321 + r224326;
double r224328 = r224320 - r224323;
double r224329 = r224328 / r224302;
double r224330 = r224329 * r224316;
double r224331 = r224327 + r224330;
double r224332 = r224320 * r224331;
double r224333 = r224319 / r224332;
return r224333;
}
double f(double x, double y) {
double r224334 = 2.0;
double r224335 = sqrt(r224334);
double r224336 = x;
double r224337 = sin(r224336);
double r224338 = y;
double r224339 = sin(r224338);
double r224340 = 16.0;
double r224341 = r224339 / r224340;
double r224342 = r224337 - r224341;
double r224343 = r224335 * r224342;
double r224344 = r224337 / r224340;
double r224345 = r224339 - r224344;
double r224346 = r224343 * r224345;
double r224347 = exp(r224346);
double r224348 = log(r224347);
double r224349 = cbrt(r224348);
double r224350 = r224349 * r224349;
double r224351 = cbrt(r224346);
double r224352 = cos(r224336);
double r224353 = cos(r224338);
double r224354 = r224352 - r224353;
double r224355 = r224351 * r224354;
double r224356 = r224350 * r224355;
double r224357 = r224334 + r224356;
double r224358 = 3.0;
double r224359 = 1.0;
double r224360 = 5.0;
double r224361 = sqrt(r224360);
double r224362 = r224361 - r224359;
double r224363 = r224362 / r224334;
double r224364 = r224363 * r224352;
double r224365 = r224359 + r224364;
double r224366 = r224358 * r224358;
double r224367 = r224366 - r224360;
double r224368 = r224358 + r224361;
double r224369 = r224367 / r224368;
double r224370 = r224369 / r224334;
double r224371 = r224370 * r224353;
double r224372 = r224365 + r224371;
double r224373 = r224358 * r224372;
double r224374 = r224357 / r224373;
return r224374;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.4
rmApplied add-log-exp0.4
rmApplied add-cube-cbrt0.5
Applied associate-*l*0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020046
(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))))))