\frac{1}{3} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\cos^{-1} \left(0.05555555555555555247160270937456516548991 \cdot \left(\sqrt{t} \cdot \frac{x}{z \cdot y}\right)\right) \cdot \sqrt[3]{1}}{\sqrt[3]{3}}double f(double x, double y, double z, double t) {
double r770558 = 1.0;
double r770559 = 3.0;
double r770560 = r770558 / r770559;
double r770561 = x;
double r770562 = y;
double r770563 = 27.0;
double r770564 = r770562 * r770563;
double r770565 = r770561 / r770564;
double r770566 = r770559 * r770565;
double r770567 = z;
double r770568 = 2.0;
double r770569 = r770567 * r770568;
double r770570 = r770566 / r770569;
double r770571 = t;
double r770572 = sqrt(r770571);
double r770573 = r770570 * r770572;
double r770574 = acos(r770573);
double r770575 = r770560 * r770574;
return r770575;
}
double f(double x, double y, double z, double t) {
double r770576 = 1.0;
double r770577 = cbrt(r770576);
double r770578 = r770577 * r770577;
double r770579 = 3.0;
double r770580 = cbrt(r770579);
double r770581 = r770580 * r770580;
double r770582 = r770578 / r770581;
double r770583 = 0.05555555555555555;
double r770584 = t;
double r770585 = sqrt(r770584);
double r770586 = x;
double r770587 = z;
double r770588 = y;
double r770589 = r770587 * r770588;
double r770590 = r770586 / r770589;
double r770591 = r770585 * r770590;
double r770592 = r770583 * r770591;
double r770593 = acos(r770592);
double r770594 = r770593 * r770577;
double r770595 = r770594 / r770580;
double r770596 = r770582 * r770595;
return r770596;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 1.2 |
|---|---|
| Target | 1.2 |
| Herbie | 0.2 |
Initial program 1.2
rmApplied add-cube-cbrt1.2
Applied add-cube-cbrt1.2
Applied times-frac0.3
Applied associate-*l*0.3
Taylor expanded around 0 0.2
Final simplification0.2
herbie shell --seed 2020001
(FPCore (x y z t)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, D"
:precision binary64
:herbie-target
(/ (acos (* (/ (/ x 27) (* y z)) (/ (sqrt t) (/ 2 3)))) 3)
(* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))))