\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 r782091 = 1.0;
double r782092 = 3.0;
double r782093 = r782091 / r782092;
double r782094 = x;
double r782095 = y;
double r782096 = 27.0;
double r782097 = r782095 * r782096;
double r782098 = r782094 / r782097;
double r782099 = r782092 * r782098;
double r782100 = z;
double r782101 = 2.0;
double r782102 = r782100 * r782101;
double r782103 = r782099 / r782102;
double r782104 = t;
double r782105 = sqrt(r782104);
double r782106 = r782103 * r782105;
double r782107 = acos(r782106);
double r782108 = r782093 * r782107;
return r782108;
}
double f(double x, double y, double z, double t) {
double r782109 = 1.0;
double r782110 = cbrt(r782109);
double r782111 = r782110 * r782110;
double r782112 = 3.0;
double r782113 = cbrt(r782112);
double r782114 = r782113 * r782113;
double r782115 = r782111 / r782114;
double r782116 = 0.05555555555555555;
double r782117 = t;
double r782118 = sqrt(r782117);
double r782119 = x;
double r782120 = z;
double r782121 = y;
double r782122 = r782120 * r782121;
double r782123 = r782119 / r782122;
double r782124 = r782118 * r782123;
double r782125 = r782116 * r782124;
double r782126 = acos(r782125);
double r782127 = r782126 * r782110;
double r782128 = r782127 / r782113;
double r782129 = r782115 * r782128;
return r782129;
}




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 +o rules:numerics
(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)))))