\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{\sin \left(0.5 \cdot x\right) \cdot 8}{3} \cdot \frac{1}{\sqrt[3]{{\left(\frac{\sin x}{\sin \left(x \cdot 0.5\right)}\right)}^{3}}}double f(double x) {
double r390557 = 8.0;
double r390558 = 3.0;
double r390559 = r390557 / r390558;
double r390560 = x;
double r390561 = 0.5;
double r390562 = r390560 * r390561;
double r390563 = sin(r390562);
double r390564 = r390559 * r390563;
double r390565 = r390564 * r390563;
double r390566 = sin(r390560);
double r390567 = r390565 / r390566;
return r390567;
}
double f(double x) {
double r390568 = 0.5;
double r390569 = x;
double r390570 = r390568 * r390569;
double r390571 = sin(r390570);
double r390572 = 8.0;
double r390573 = r390571 * r390572;
double r390574 = 3.0;
double r390575 = r390573 / r390574;
double r390576 = 1.0;
double r390577 = sin(r390569);
double r390578 = r390569 * r390568;
double r390579 = sin(r390578);
double r390580 = r390577 / r390579;
double r390581 = 3.0;
double r390582 = pow(r390580, r390581);
double r390583 = cbrt(r390582);
double r390584 = r390576 / r390583;
double r390585 = r390575 * r390584;
return r390585;
}




Bits error versus x
Results
| Original | 14.4 |
|---|---|
| Target | 0.3 |
| Herbie | 0.4 |
Initial program 14.4
rmApplied *-un-lft-identity14.4
Applied times-frac0.5
Simplified0.5
rmApplied associate-*l/0.3
Simplified0.3
rmApplied clear-num0.3
rmApplied add-cbrt-cube19.9
Applied add-cbrt-cube21.1
Applied cbrt-undiv21.1
Simplified0.4
Final simplification0.4
herbie shell --seed 2019303
(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)))