\frac{\left(\frac{8}{3} \cdot \sin \left(x \cdot 0.5\right)\right) \cdot \sin \left(x \cdot 0.5\right)}{\sin x}\left(8 \cdot \frac{\sin \left(0.5 \cdot x\right)}{3}\right) \cdot \log \left(e^{\frac{\sin \left(x \cdot 0.5\right)}{\sin x}}\right)double f(double x) {
double r464448 = 8.0;
double r464449 = 3.0;
double r464450 = r464448 / r464449;
double r464451 = x;
double r464452 = 0.5;
double r464453 = r464451 * r464452;
double r464454 = sin(r464453);
double r464455 = r464450 * r464454;
double r464456 = r464455 * r464454;
double r464457 = sin(r464451);
double r464458 = r464456 / r464457;
return r464458;
}
double f(double x) {
double r464459 = 8.0;
double r464460 = 0.5;
double r464461 = x;
double r464462 = r464460 * r464461;
double r464463 = sin(r464462);
double r464464 = 3.0;
double r464465 = r464463 / r464464;
double r464466 = r464459 * r464465;
double r464467 = r464461 * r464460;
double r464468 = sin(r464467);
double r464469 = sin(r464461);
double r464470 = r464468 / r464469;
double r464471 = exp(r464470);
double r464472 = log(r464471);
double r464473 = r464466 * r464472;
return r464473;
}




Bits error versus x
Results
| Original | 15.0 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 15.0
rmApplied *-un-lft-identity15.0
Applied times-frac0.5
Simplified0.5
rmApplied div-inv0.5
Applied associate-*l*0.5
Simplified0.3
rmApplied add-log-exp0.3
Final simplification0.3
herbie shell --seed 2019198 +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)))