\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 \sin \left(x \cdot 0.5\right)}{3} \cdot \frac{\sin \left(0.5 \cdot x\right)}{\sin x}double f(double x) {
double r733754 = 8.0;
double r733755 = 3.0;
double r733756 = r733754 / r733755;
double r733757 = x;
double r733758 = 0.5;
double r733759 = r733757 * r733758;
double r733760 = sin(r733759);
double r733761 = r733756 * r733760;
double r733762 = r733761 * r733760;
double r733763 = sin(r733757);
double r733764 = r733762 / r733763;
return r733764;
}
double f(double x) {
double r733765 = 8.0;
double r733766 = x;
double r733767 = 0.5;
double r733768 = r733766 * r733767;
double r733769 = sin(r733768);
double r733770 = r733765 * r733769;
double r733771 = 3.0;
double r733772 = r733770 / r733771;
double r733773 = r733767 * r733766;
double r733774 = sin(r733773);
double r733775 = sin(r733766);
double r733776 = r733774 / r733775;
double r733777 = r733772 * r733776;
return r733777;
}




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