\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{\sin \left(0.5 \cdot x\right)}{\sin x} \cdot \frac{\sin \left(0.5 \cdot x\right) \cdot 8}{3}double f(double x) {
double r26723883 = 8.0;
double r26723884 = 3.0;
double r26723885 = r26723883 / r26723884;
double r26723886 = x;
double r26723887 = 0.5;
double r26723888 = r26723886 * r26723887;
double r26723889 = sin(r26723888);
double r26723890 = r26723885 * r26723889;
double r26723891 = r26723890 * r26723889;
double r26723892 = sin(r26723886);
double r26723893 = r26723891 / r26723892;
return r26723893;
}
double f(double x) {
double r26723894 = 0.5;
double r26723895 = x;
double r26723896 = r26723894 * r26723895;
double r26723897 = sin(r26723896);
double r26723898 = sin(r26723895);
double r26723899 = r26723897 / r26723898;
double r26723900 = 8.0;
double r26723901 = r26723897 * r26723900;
double r26723902 = 3.0;
double r26723903 = r26723901 / r26723902;
double r26723904 = r26723899 * r26723903;
return r26723904;
}




Bits error versus x
Results
| Original | 15.1 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 15.1
rmApplied *-un-lft-identity15.1
Applied times-frac0.5
Simplified0.3
Final simplification0.3
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x)
:name "Graphics.Rasterific.Svg.PathConverter:segmentToBezier from rasterific-svg-0.2.3.1, A"
:herbie-target
(/ (/ (* 8.0 (sin (* x 0.5))) 3.0) (/ (sin x) (sin (* x 0.5))))
(/ (* (* (/ 8.0 3.0) (sin (* x 0.5))) (sin (* x 0.5))) (sin x)))