\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{\frac{8}{3} \cdot \sin \left(x \cdot 0.5\right)}{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}} \cdot \frac{\sin \left(0.5 \cdot x\right)}{\sqrt[3]{\sin x}}double f(double x) {
double r708090 = 8.0;
double r708091 = 3.0;
double r708092 = r708090 / r708091;
double r708093 = x;
double r708094 = 0.5;
double r708095 = r708093 * r708094;
double r708096 = sin(r708095);
double r708097 = r708092 * r708096;
double r708098 = r708097 * r708096;
double r708099 = sin(r708093);
double r708100 = r708098 / r708099;
return r708100;
}
double f(double x) {
double r708101 = 8.0;
double r708102 = 3.0;
double r708103 = r708101 / r708102;
double r708104 = x;
double r708105 = 0.5;
double r708106 = r708104 * r708105;
double r708107 = sin(r708106);
double r708108 = r708103 * r708107;
double r708109 = sin(r708104);
double r708110 = cbrt(r708109);
double r708111 = r708110 * r708110;
double r708112 = r708108 / r708111;
double r708113 = r708105 * r708104;
double r708114 = sin(r708113);
double r708115 = r708114 / r708110;
double r708116 = r708112 * r708115;
return r708116;
}




Bits error versus x
Results
| Original | 14.8 |
|---|---|
| Target | 0.3 |
| Herbie | 1.4 |
Initial program 14.8
rmApplied add-cube-cbrt15.4
Applied times-frac1.4
Simplified1.4
Final simplification1.4
herbie shell --seed 2020062
(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)))