\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{8.0 \cdot \frac{\sin \left(0.5 \cdot x\right)}{3.0}}{\frac{\sin x}{\sin \left(0.5 \cdot x\right)}}double f(double x) {
double r25563180 = 8.0;
double r25563181 = 3.0;
double r25563182 = r25563180 / r25563181;
double r25563183 = x;
double r25563184 = 0.5;
double r25563185 = r25563183 * r25563184;
double r25563186 = sin(r25563185);
double r25563187 = r25563182 * r25563186;
double r25563188 = r25563187 * r25563186;
double r25563189 = sin(r25563183);
double r25563190 = r25563188 / r25563189;
return r25563190;
}
double f(double x) {
double r25563191 = 8.0;
double r25563192 = 0.5;
double r25563193 = x;
double r25563194 = r25563192 * r25563193;
double r25563195 = sin(r25563194);
double r25563196 = 3.0;
double r25563197 = r25563195 / r25563196;
double r25563198 = r25563191 * r25563197;
double r25563199 = sin(r25563193);
double r25563200 = r25563199 / r25563195;
double r25563201 = r25563198 / r25563200;
return r25563201;
}




Bits error versus x
Results
| Original | 14.4 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 14.4
rmApplied associate-/l*0.5
rmApplied div-inv0.5
Applied associate-*l*0.5
Simplified0.3
Final simplification0.3
herbie shell --seed 2019165 +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)))