\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(x \cdot 0.5\right)}{\sin x} \cdot \frac{8 \cdot \sin \left(0.5 \cdot x\right)}{3}double f(double x) {
double r548091 = 8.0;
double r548092 = 3.0;
double r548093 = r548091 / r548092;
double r548094 = x;
double r548095 = 0.5;
double r548096 = r548094 * r548095;
double r548097 = sin(r548096);
double r548098 = r548093 * r548097;
double r548099 = r548098 * r548097;
double r548100 = sin(r548094);
double r548101 = r548099 / r548100;
return r548101;
}
double f(double x) {
double r548102 = x;
double r548103 = 0.5;
double r548104 = r548102 * r548103;
double r548105 = sin(r548104);
double r548106 = sin(r548102);
double r548107 = r548105 / r548106;
double r548108 = 8.0;
double r548109 = r548103 * r548102;
double r548110 = sin(r548109);
double r548111 = r548108 * r548110;
double r548112 = 3.0;
double r548113 = r548111 / r548112;
double r548114 = r548107 * r548113;
return r548114;
}




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