\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.055555555555555552 \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 r865148 = 1.0;
double r865149 = 3.0;
double r865150 = r865148 / r865149;
double r865151 = x;
double r865152 = y;
double r865153 = 27.0;
double r865154 = r865152 * r865153;
double r865155 = r865151 / r865154;
double r865156 = r865149 * r865155;
double r865157 = z;
double r865158 = 2.0;
double r865159 = r865157 * r865158;
double r865160 = r865156 / r865159;
double r865161 = t;
double r865162 = sqrt(r865161);
double r865163 = r865160 * r865162;
double r865164 = acos(r865163);
double r865165 = r865150 * r865164;
return r865165;
}
double f(double x, double y, double z, double t) {
double r865166 = 1.0;
double r865167 = cbrt(r865166);
double r865168 = r865167 * r865167;
double r865169 = 3.0;
double r865170 = cbrt(r865169);
double r865171 = r865170 * r865170;
double r865172 = r865168 / r865171;
double r865173 = 0.05555555555555555;
double r865174 = t;
double r865175 = sqrt(r865174);
double r865176 = x;
double r865177 = z;
double r865178 = y;
double r865179 = r865177 * r865178;
double r865180 = r865176 / r865179;
double r865181 = r865175 * r865180;
double r865182 = r865173 * r865181;
double r865183 = acos(r865182);
double r865184 = r865183 * r865167;
double r865185 = r865184 / r865170;
double r865186 = r865172 * r865185;
return r865186;
}




Bits error versus x




Bits error versus y




Bits error versus z




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