\frac{\tan \left(\frac{x}{y \cdot 2}\right)}{\sin \left(\frac{x}{y \cdot 2}\right)}\frac{1}{\sqrt[3]{\cos \left(\frac{x}{y \cdot 2}\right)} \cdot \sqrt[3]{\cos \left(\frac{x}{y \cdot 2}\right)}} \cdot \frac{1}{\sqrt[3]{\log \left(e^{\cos \left(\frac{x}{y \cdot 2}\right)}\right)}}double f(double x, double y) {
double r632728 = x;
double r632729 = y;
double r632730 = 2.0;
double r632731 = r632729 * r632730;
double r632732 = r632728 / r632731;
double r632733 = tan(r632732);
double r632734 = sin(r632732);
double r632735 = r632733 / r632734;
return r632735;
}
double f(double x, double y) {
double r632736 = 1.0;
double r632737 = x;
double r632738 = y;
double r632739 = 2.0;
double r632740 = r632738 * r632739;
double r632741 = r632737 / r632740;
double r632742 = cos(r632741);
double r632743 = cbrt(r632742);
double r632744 = r632743 * r632743;
double r632745 = r632736 / r632744;
double r632746 = exp(r632742);
double r632747 = log(r632746);
double r632748 = cbrt(r632747);
double r632749 = r632736 / r632748;
double r632750 = r632745 * r632749;
return r632750;
}




Bits error versus x




Bits error versus y
Results
| Original | 35.2 |
|---|---|
| Target | 28.6 |
| Herbie | 28.1 |
Initial program 35.2
rmApplied tan-quot35.2
rmApplied add-cube-cbrt35.7
Applied add-cube-cbrt35.7
Applied add-cube-cbrt35.2
Applied times-frac35.2
Applied times-frac35.2
Simplified35.2
Simplified28.1
rmApplied add-log-exp28.1
Final simplification28.1
herbie shell --seed 2020056
(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)))))