\frac{1}{3} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\frac{1}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \left(1 \cdot \frac{\cos^{-1} \left(0.05555555555555555247160270937456516548991 \cdot \left(\sqrt{t} \cdot \frac{x}{z \cdot y}\right)\right)}{\sqrt[3]{3}}\right)double f(double x, double y, double z, double t) {
double r825097 = 1.0;
double r825098 = 3.0;
double r825099 = r825097 / r825098;
double r825100 = x;
double r825101 = y;
double r825102 = 27.0;
double r825103 = r825101 * r825102;
double r825104 = r825100 / r825103;
double r825105 = r825098 * r825104;
double r825106 = z;
double r825107 = 2.0;
double r825108 = r825106 * r825107;
double r825109 = r825105 / r825108;
double r825110 = t;
double r825111 = sqrt(r825110);
double r825112 = r825109 * r825111;
double r825113 = acos(r825112);
double r825114 = r825099 * r825113;
return r825114;
}
double f(double x, double y, double z, double t) {
double r825115 = 1.0;
double r825116 = 3.0;
double r825117 = cbrt(r825116);
double r825118 = r825117 * r825117;
double r825119 = r825115 / r825118;
double r825120 = 1.0;
double r825121 = 0.05555555555555555;
double r825122 = t;
double r825123 = sqrt(r825122);
double r825124 = x;
double r825125 = z;
double r825126 = y;
double r825127 = r825125 * r825126;
double r825128 = r825124 / r825127;
double r825129 = r825123 * r825128;
double r825130 = r825121 * r825129;
double r825131 = acos(r825130);
double r825132 = r825131 / r825117;
double r825133 = r825120 * r825132;
double r825134 = r825119 * r825133;
return r825134;
}




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 *-un-lft-identity1.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)))))