\frac{\tan \left(\frac{x}{y \cdot 2}\right)}{\sin \left(\frac{x}{y \cdot 2}\right)}\left(\sqrt[3]{\frac{1}{\cos \left(\frac{x}{y \cdot 2}\right)}} \cdot \sqrt[3]{\frac{1}{\cos \left(\frac{x}{y \cdot 2}\right)}}\right) \cdot \sqrt[3]{\frac{1}{\cos \left(\frac{x}{y \cdot 2}\right)}}double f(double x, double y) {
double r442362 = x;
double r442363 = y;
double r442364 = 2.0;
double r442365 = r442363 * r442364;
double r442366 = r442362 / r442365;
double r442367 = tan(r442366);
double r442368 = sin(r442366);
double r442369 = r442367 / r442368;
return r442369;
}
double f(double x, double y) {
double r442370 = 1.0;
double r442371 = x;
double r442372 = y;
double r442373 = 2.0;
double r442374 = r442372 * r442373;
double r442375 = r442371 / r442374;
double r442376 = cos(r442375);
double r442377 = r442370 / r442376;
double r442378 = cbrt(r442377);
double r442379 = r442378 * r442378;
double r442380 = r442379 * r442378;
return r442380;
}




Bits error versus x




Bits error versus y
Results
| Original | 35.8 |
|---|---|
| Target | 29.1 |
| Herbie | 28.5 |
Initial program 35.8
rmApplied tan-quot35.8
rmApplied add-cube-cbrt35.8
Simplified35.8
Simplified28.5
Final simplification28.5
herbie shell --seed 2019199 +o rules:numerics
(FPCore (x y)
:name "Diagrams.TwoD.Layout.CirclePacking:approxRadius from diagrams-contrib-1.3.0.5"
:herbie-target
(if (< y -1.2303690911306994e+114) 1.0 (if (< y -9.102852406811914e-222) (/ (sin (/ x (* y 2.0))) (* (sin (/ x (* y 2.0))) (log (exp (cos (/ x (* y 2.0))))))) 1.0))
(/ (tan (/ x (* y 2.0))) (sin (/ x (* y 2.0)))))