\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 \frac{\sin \left(0.5 \cdot x\right)}{3}}{\frac{\sin x}{\sin \left(x \cdot 0.5\right)}}double f(double x) {
double r466234 = 8.0;
double r466235 = 3.0;
double r466236 = r466234 / r466235;
double r466237 = x;
double r466238 = 0.5;
double r466239 = r466237 * r466238;
double r466240 = sin(r466239);
double r466241 = r466236 * r466240;
double r466242 = r466241 * r466240;
double r466243 = sin(r466237);
double r466244 = r466242 / r466243;
return r466244;
}
double f(double x) {
double r466245 = 8.0;
double r466246 = 0.5;
double r466247 = x;
double r466248 = r466246 * r466247;
double r466249 = sin(r466248);
double r466250 = 3.0;
double r466251 = r466249 / r466250;
double r466252 = r466245 * r466251;
double r466253 = sin(r466247);
double r466254 = r466247 * r466246;
double r466255 = sin(r466254);
double r466256 = r466253 / r466255;
double r466257 = r466252 / r466256;
return r466257;
}




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