\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{8 \cdot \sin \left(x \cdot 0.5\right)}{3}}{\frac{\sin x}{\sin \left(0.5 \cdot x\right)}}double f(double x) {
double r551219 = 8.0;
double r551220 = 3.0;
double r551221 = r551219 / r551220;
double r551222 = x;
double r551223 = 0.5;
double r551224 = r551222 * r551223;
double r551225 = sin(r551224);
double r551226 = r551221 * r551225;
double r551227 = r551226 * r551225;
double r551228 = sin(r551222);
double r551229 = r551227 / r551228;
return r551229;
}
double f(double x) {
double r551230 = 8.0;
double r551231 = x;
double r551232 = 0.5;
double r551233 = r551231 * r551232;
double r551234 = sin(r551233);
double r551235 = r551230 * r551234;
double r551236 = 3.0;
double r551237 = r551235 / r551236;
double r551238 = sin(r551231);
double r551239 = r551232 * r551231;
double r551240 = sin(r551239);
double r551241 = r551238 / r551240;
double r551242 = r551237 / r551241;
return r551242;
}




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