\frac{\left(\frac{8.0}{3.0} \cdot \sin \left(x \cdot 0.5\right)\right) \cdot \sin \left(x \cdot 0.5\right)}{\sin x}\frac{\sin \left(x \cdot 0.5\right)}{\sin x} \cdot \frac{\sin \left(x \cdot 0.5\right)}{\frac{3.0}{8.0}}double f(double x) {
double r18078769 = 8.0;
double r18078770 = 3.0;
double r18078771 = r18078769 / r18078770;
double r18078772 = x;
double r18078773 = 0.5;
double r18078774 = r18078772 * r18078773;
double r18078775 = sin(r18078774);
double r18078776 = r18078771 * r18078775;
double r18078777 = r18078776 * r18078775;
double r18078778 = sin(r18078772);
double r18078779 = r18078777 / r18078778;
return r18078779;
}
double f(double x) {
double r18078780 = x;
double r18078781 = 0.5;
double r18078782 = r18078780 * r18078781;
double r18078783 = sin(r18078782);
double r18078784 = sin(r18078780);
double r18078785 = r18078783 / r18078784;
double r18078786 = 3.0;
double r18078787 = 8.0;
double r18078788 = r18078786 / r18078787;
double r18078789 = r18078783 / r18078788;
double r18078790 = r18078785 * r18078789;
return r18078790;
}




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