\frac{1}{3} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\frac{\sqrt{1}}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\cos^{-1} \left(\log \left(e^{0.05555555555555555247160270937456516548991 \cdot \left(\sqrt{t} \cdot \frac{x}{z \cdot y}\right)}\right)\right) \cdot \sqrt{1}}{\sqrt[3]{3}}double f(double x, double y, double z, double t) {
double r428545 = 1.0;
double r428546 = 3.0;
double r428547 = r428545 / r428546;
double r428548 = x;
double r428549 = y;
double r428550 = 27.0;
double r428551 = r428549 * r428550;
double r428552 = r428548 / r428551;
double r428553 = r428546 * r428552;
double r428554 = z;
double r428555 = 2.0;
double r428556 = r428554 * r428555;
double r428557 = r428553 / r428556;
double r428558 = t;
double r428559 = sqrt(r428558);
double r428560 = r428557 * r428559;
double r428561 = acos(r428560);
double r428562 = r428547 * r428561;
return r428562;
}
double f(double x, double y, double z, double t) {
double r428563 = 1.0;
double r428564 = sqrt(r428563);
double r428565 = 3.0;
double r428566 = cbrt(r428565);
double r428567 = r428566 * r428566;
double r428568 = r428564 / r428567;
double r428569 = 0.05555555555555555;
double r428570 = t;
double r428571 = sqrt(r428570);
double r428572 = x;
double r428573 = z;
double r428574 = y;
double r428575 = r428573 * r428574;
double r428576 = r428572 / r428575;
double r428577 = r428571 * r428576;
double r428578 = r428569 * r428577;
double r428579 = exp(r428578);
double r428580 = log(r428579);
double r428581 = acos(r428580);
double r428582 = r428581 * r428564;
double r428583 = r428582 / r428566;
double r428584 = r428568 * r428583;
return r428584;
}




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-sqr-sqrt1.2
Applied times-frac0.3
Applied associate-*l*0.3
Taylor expanded around 0 0.2
rmApplied add-log-exp0.2
Final simplification0.2
herbie shell --seed 2019304 +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)))))