\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(0.5 \cdot x\right)}{\frac{\sin x}{\sin \left(0.5 \cdot x\right)} \cdot 3}double f(double x) {
double r664565 = 8.0;
double r664566 = 3.0;
double r664567 = r664565 / r664566;
double r664568 = x;
double r664569 = 0.5;
double r664570 = r664568 * r664569;
double r664571 = sin(r664570);
double r664572 = r664567 * r664571;
double r664573 = r664572 * r664571;
double r664574 = sin(r664568);
double r664575 = r664573 / r664574;
return r664575;
}
double f(double x) {
double r664576 = 8.0;
double r664577 = 0.5;
double r664578 = x;
double r664579 = r664577 * r664578;
double r664580 = sin(r664579);
double r664581 = r664576 * r664580;
double r664582 = sin(r664578);
double r664583 = r664582 / r664580;
double r664584 = 3.0;
double r664585 = r664583 * r664584;
double r664586 = r664581 / r664585;
return r664586;
}




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