\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 \left(\frac{\cos^{-1} \left(0.055555555555555552 \cdot \left(\sqrt{t} \cdot \frac{x}{z \cdot y}\right)\right)}{\sqrt[3]{\sqrt[3]{3}} \cdot \sqrt[3]{\sqrt[3]{3}}} \cdot \frac{\sqrt[3]{1}}{\sqrt[3]{\sqrt[3]{3}}}\right)double f(double x, double y, double z, double t) {
double r713281 = 1.0;
double r713282 = 3.0;
double r713283 = r713281 / r713282;
double r713284 = x;
double r713285 = y;
double r713286 = 27.0;
double r713287 = r713285 * r713286;
double r713288 = r713284 / r713287;
double r713289 = r713282 * r713288;
double r713290 = z;
double r713291 = 2.0;
double r713292 = r713290 * r713291;
double r713293 = r713289 / r713292;
double r713294 = t;
double r713295 = sqrt(r713294);
double r713296 = r713293 * r713295;
double r713297 = acos(r713296);
double r713298 = r713283 * r713297;
return r713298;
}
double f(double x, double y, double z, double t) {
double r713299 = 1.0;
double r713300 = cbrt(r713299);
double r713301 = r713300 * r713300;
double r713302 = 3.0;
double r713303 = cbrt(r713302);
double r713304 = r713303 * r713303;
double r713305 = r713301 / r713304;
double r713306 = 0.05555555555555555;
double r713307 = t;
double r713308 = sqrt(r713307);
double r713309 = x;
double r713310 = z;
double r713311 = y;
double r713312 = r713310 * r713311;
double r713313 = r713309 / r713312;
double r713314 = r713308 * r713313;
double r713315 = r713306 * r713314;
double r713316 = acos(r713315);
double r713317 = cbrt(r713303);
double r713318 = r713317 * r713317;
double r713319 = r713316 / r713318;
double r713320 = r713300 / r713317;
double r713321 = r713319 * r713320;
double r713322 = r713305 * r713321;
return r713322;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 1.3 |
|---|---|
| Target | 1.2 |
| Herbie | 0.3 |
Initial program 1.3
rmApplied add-cube-cbrt1.3
Applied add-cube-cbrt1.3
Applied times-frac0.3
Applied associate-*l*0.3
Taylor expanded around 0 0.3
rmApplied add-cube-cbrt0.3
Applied times-frac0.3
Final simplification0.3
herbie shell --seed 2020081
(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)))))