\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) \cdot 8}{3} \cdot \frac{\sin \left(x \cdot 0.5\right)}{\sin x}double f(double x) {
double r471755 = 8.0;
double r471756 = 3.0;
double r471757 = r471755 / r471756;
double r471758 = x;
double r471759 = 0.5;
double r471760 = r471758 * r471759;
double r471761 = sin(r471760);
double r471762 = r471757 * r471761;
double r471763 = r471762 * r471761;
double r471764 = sin(r471758);
double r471765 = r471763 / r471764;
return r471765;
}
double f(double x) {
double r471766 = 0.5;
double r471767 = x;
double r471768 = r471766 * r471767;
double r471769 = sin(r471768);
double r471770 = 8.0;
double r471771 = r471769 * r471770;
double r471772 = 3.0;
double r471773 = r471771 / r471772;
double r471774 = r471767 * r471766;
double r471775 = sin(r471774);
double r471776 = sin(r471767);
double r471777 = r471775 / r471776;
double r471778 = r471773 * r471777;
return r471778;
}




Bits error versus x
Results
| Original | 14.6 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 14.6
rmApplied *-un-lft-identity14.6
Applied times-frac0.5
Simplified0.5
rmApplied associate-*l/0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019306
(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)))