\frac{\tan \left(\frac{x}{y \cdot 2}\right)}{\sin \left(\frac{x}{y \cdot 2}\right)}\log \left({\left(e^{\frac{2}{\log \left(e^{\cos \left(\frac{x}{y \cdot 2}\right)}\right)}}\right)}^{\frac{1}{2}}\right)double f(double x, double y) {
double r548216 = x;
double r548217 = y;
double r548218 = 2.0;
double r548219 = r548217 * r548218;
double r548220 = r548216 / r548219;
double r548221 = tan(r548220);
double r548222 = sin(r548220);
double r548223 = r548221 / r548222;
return r548223;
}
double f(double x, double y) {
double r548224 = 2.0;
double r548225 = x;
double r548226 = y;
double r548227 = 2.0;
double r548228 = r548226 * r548227;
double r548229 = r548225 / r548228;
double r548230 = cos(r548229);
double r548231 = exp(r548230);
double r548232 = log(r548231);
double r548233 = r548224 / r548232;
double r548234 = exp(r548233);
double r548235 = 0.5;
double r548236 = pow(r548234, r548235);
double r548237 = log(r548236);
return r548237;
}




Bits error versus x




Bits error versus y
Results
| Original | 35.8 |
|---|---|
| Target | 29.0 |
| Herbie | 28.5 |
Initial program 35.8
rmApplied tan-quot35.8
Applied associate-/l/35.8
rmApplied add-log-exp35.8
Simplified28.5
rmApplied add-log-exp28.5
Final simplification28.5
herbie shell --seed 2019362
(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)))))