\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 r769819 = 1.0;
double r769820 = 3.0;
double r769821 = r769819 / r769820;
double r769822 = x;
double r769823 = y;
double r769824 = 27.0;
double r769825 = r769823 * r769824;
double r769826 = r769822 / r769825;
double r769827 = r769820 * r769826;
double r769828 = z;
double r769829 = 2.0;
double r769830 = r769828 * r769829;
double r769831 = r769827 / r769830;
double r769832 = t;
double r769833 = sqrt(r769832);
double r769834 = r769831 * r769833;
double r769835 = acos(r769834);
double r769836 = r769821 * r769835;
return r769836;
}
double f(double x, double y, double z, double t) {
double r769837 = 1.0;
double r769838 = cbrt(r769837);
double r769839 = r769838 * r769838;
double r769840 = 3.0;
double r769841 = cbrt(r769840);
double r769842 = r769841 * r769841;
double r769843 = r769839 / r769842;
double r769844 = 0.05555555555555555;
double r769845 = t;
double r769846 = sqrt(r769845);
double r769847 = x;
double r769848 = z;
double r769849 = y;
double r769850 = r769848 * r769849;
double r769851 = r769847 / r769850;
double r769852 = r769846 * r769851;
double r769853 = r769844 * r769852;
double r769854 = acos(r769853);
double r769855 = r769854 * r769838;
double r769856 = r769855 / r769841;
double r769857 = r769843 * r769856;
return r769857;
}




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
Final simplification0.3
herbie shell --seed 2019350
(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)))))