\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{\frac{\sin \left(0.5 \cdot x\right) \cdot 8}{3}}{\frac{\sin x}{\sin \left(x \cdot 0.5\right)}}double f(double x) {
double r405285 = 8.0;
double r405286 = 3.0;
double r405287 = r405285 / r405286;
double r405288 = x;
double r405289 = 0.5;
double r405290 = r405288 * r405289;
double r405291 = sin(r405290);
double r405292 = r405287 * r405291;
double r405293 = r405292 * r405291;
double r405294 = sin(r405288);
double r405295 = r405293 / r405294;
return r405295;
}
double f(double x) {
double r405296 = 0.5;
double r405297 = x;
double r405298 = r405296 * r405297;
double r405299 = sin(r405298);
double r405300 = 8.0;
double r405301 = r405299 * r405300;
double r405302 = 3.0;
double r405303 = r405301 / r405302;
double r405304 = sin(r405297);
double r405305 = r405297 * r405296;
double r405306 = sin(r405305);
double r405307 = r405304 / r405306;
double r405308 = r405303 / r405307;
return r405308;
}




Bits error versus x
Results
| Original | 15.2 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 15.2
rmApplied associate-/l*0.5
rmApplied associate-*l/0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019326
(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)))