\frac{\left(\frac{8}{3} \cdot \sin \left(x \cdot 0.5\right)\right) \cdot \sin \left(x \cdot 0.5\right)}{\sin x}\frac{8 \cdot \sin \left(x \cdot 0.5\right)}{3} \cdot \log \left(e^{\frac{\sin \left(0.5 \cdot x\right)}{\sin x}}\right)double f(double x) {
double r582287 = 8.0;
double r582288 = 3.0;
double r582289 = r582287 / r582288;
double r582290 = x;
double r582291 = 0.5;
double r582292 = r582290 * r582291;
double r582293 = sin(r582292);
double r582294 = r582289 * r582293;
double r582295 = r582294 * r582293;
double r582296 = sin(r582290);
double r582297 = r582295 / r582296;
return r582297;
}
double f(double x) {
double r582298 = 8.0;
double r582299 = x;
double r582300 = 0.5;
double r582301 = r582299 * r582300;
double r582302 = sin(r582301);
double r582303 = r582298 * r582302;
double r582304 = 3.0;
double r582305 = r582303 / r582304;
double r582306 = r582300 * r582299;
double r582307 = sin(r582306);
double r582308 = sin(r582299);
double r582309 = r582307 / r582308;
double r582310 = exp(r582309);
double r582311 = log(r582310);
double r582312 = r582305 * r582311;
return r582312;
}




Bits error versus x
Results
| Original | 14.9 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 14.9
rmApplied *-un-lft-identity14.9
Applied times-frac0.5
Simplified0.5
Simplified0.5
rmApplied associate-*l/0.3
rmApplied add-log-exp0.3
Final simplification0.3
herbie shell --seed 2020036
(FPCore (x)
:name "Graphics.Rasterific.Svg.PathConverter:segmentToBezier from rasterific-svg-0.2.3.1, A"
:precision binary64
:herbie-target
(/ (/ (* 8 (sin (* x 0.5))) 3) (/ (sin x) (sin (* x 0.5))))
(/ (* (* (/ 8 3) (sin (* x 0.5))) (sin (* x 0.5))) (sin x)))