\frac{\tan \left(\frac{x}{y \cdot 2}\right)}{\sin \left(\frac{x}{y \cdot 2}\right)}\left(\left(\sqrt[3]{\sqrt[3]{\frac{1}{\cos \left(\frac{x}{y \cdot 2}\right)}}} \cdot \sqrt[3]{\sqrt[3]{\frac{1}{\cos \left(\frac{x}{y \cdot 2}\right)}}}\right) \cdot {\left(\sqrt[3]{\sqrt[3]{\frac{1}{\cos \left(\frac{x}{y \cdot 2}\right)}}}\right)}^{4}\right) \cdot \sqrt[3]{\frac{1}{\cos \left(\frac{x}{y \cdot 2}\right)}}double f(double x, double y) {
double r741969 = x;
double r741970 = y;
double r741971 = 2.0;
double r741972 = r741970 * r741971;
double r741973 = r741969 / r741972;
double r741974 = tan(r741973);
double r741975 = sin(r741973);
double r741976 = r741974 / r741975;
return r741976;
}
double f(double x, double y) {
double r741977 = 1.0;
double r741978 = x;
double r741979 = y;
double r741980 = 2.0;
double r741981 = r741979 * r741980;
double r741982 = r741978 / r741981;
double r741983 = cos(r741982);
double r741984 = r741977 / r741983;
double r741985 = cbrt(r741984);
double r741986 = cbrt(r741985);
double r741987 = r741986 * r741986;
double r741988 = 4.0;
double r741989 = pow(r741986, r741988);
double r741990 = r741987 * r741989;
double r741991 = r741990 * r741985;
return r741991;
}




Bits error versus x




Bits error versus y
Results
| Original | 35.7 |
|---|---|
| Target | 28.8 |
| Herbie | 28.5 |
Initial program 35.7
rmApplied tan-quot35.7
Applied associate-/l/35.7
rmApplied add-cube-cbrt35.8
Simplified35.8
Simplified28.5
rmApplied add-cube-cbrt28.5
Applied associate-*l*28.5
Simplified28.5
Final simplification28.5
herbie shell --seed 2020043 +o rules:numerics
(FPCore (x y)
:name "Diagrams.TwoD.Layout.CirclePacking:approxRadius from diagrams-contrib-1.3.0.5"
:precision binary64
:herbie-target
(if (< y -1.2303690911306994e+114) 1 (if (< y -9.102852406811914e-222) (/ (sin (/ x (* y 2))) (* (sin (/ x (* y 2))) (log (exp (cos (/ x (* y 2))))))) 1))
(/ (tan (/ x (* y 2))) (sin (/ x (* y 2)))))