\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{1}{\frac{\sin x}{\sin \left(0.5 \cdot x\right)}} \cdot \left(\frac{\sin \left(0.5 \cdot x\right)}{3} \cdot 8\right)double f(double x) {
double r540513 = 8.0;
double r540514 = 3.0;
double r540515 = r540513 / r540514;
double r540516 = x;
double r540517 = 0.5;
double r540518 = r540516 * r540517;
double r540519 = sin(r540518);
double r540520 = r540515 * r540519;
double r540521 = r540520 * r540519;
double r540522 = sin(r540516);
double r540523 = r540521 / r540522;
return r540523;
}
double f(double x) {
double r540524 = 1.0;
double r540525 = x;
double r540526 = sin(r540525);
double r540527 = 0.5;
double r540528 = r540527 * r540525;
double r540529 = sin(r540528);
double r540530 = r540526 / r540529;
double r540531 = r540524 / r540530;
double r540532 = 3.0;
double r540533 = r540529 / r540532;
double r540534 = 8.0;
double r540535 = r540533 * r540534;
double r540536 = r540531 * r540535;
return r540536;
}




Bits error versus x
Results
| Original | 15.2 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 15.2
Simplified15.1
rmApplied div-inv15.1
Applied times-frac0.3
Simplified0.3
rmApplied clear-num0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019174
(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)))