Average Error: 1.3 → 0.4
Time: 7.3s
Precision: 64
\[\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 \left(\frac{\sqrt{1}}{\sqrt[3]{3}} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\right)\]
\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 \left(\frac{\sqrt{1}}{\sqrt[3]{3}} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\right)
double f(double x, double y, double z, double t) {
        double r716879 = 1.0;
        double r716880 = 3.0;
        double r716881 = r716879 / r716880;
        double r716882 = x;
        double r716883 = y;
        double r716884 = 27.0;
        double r716885 = r716883 * r716884;
        double r716886 = r716882 / r716885;
        double r716887 = r716880 * r716886;
        double r716888 = z;
        double r716889 = 2.0;
        double r716890 = r716888 * r716889;
        double r716891 = r716887 / r716890;
        double r716892 = t;
        double r716893 = sqrt(r716892);
        double r716894 = r716891 * r716893;
        double r716895 = acos(r716894);
        double r716896 = r716881 * r716895;
        return r716896;
}

double f(double x, double y, double z, double t) {
        double r716897 = 1.0;
        double r716898 = sqrt(r716897);
        double r716899 = 3.0;
        double r716900 = cbrt(r716899);
        double r716901 = r716900 * r716900;
        double r716902 = r716898 / r716901;
        double r716903 = r716898 / r716900;
        double r716904 = x;
        double r716905 = y;
        double r716906 = 27.0;
        double r716907 = r716905 * r716906;
        double r716908 = r716904 / r716907;
        double r716909 = r716899 * r716908;
        double r716910 = z;
        double r716911 = 2.0;
        double r716912 = r716910 * r716911;
        double r716913 = r716909 / r716912;
        double r716914 = t;
        double r716915 = sqrt(r716914);
        double r716916 = r716913 * r716915;
        double r716917 = acos(r716916);
        double r716918 = r716903 * r716917;
        double r716919 = r716902 * r716918;
        return r716919;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original1.3
Target1.2
Herbie0.4
\[\frac{\cos^{-1} \left(\frac{\frac{x}{27}}{y \cdot z} \cdot \frac{\sqrt{t}}{\frac{2}{3}}\right)}{3}\]

Derivation

  1. Initial program 1.3

    \[\frac{1}{3} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\]
  2. Using strategy rm
  3. Applied add-cube-cbrt1.3

    \[\leadsto \frac{1}{\color{blue}{\left(\sqrt[3]{3} \cdot \sqrt[3]{3}\right) \cdot \sqrt[3]{3}}} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\]
  4. Applied add-sqr-sqrt1.3

    \[\leadsto \frac{\color{blue}{\sqrt{1} \cdot \sqrt{1}}}{\left(\sqrt[3]{3} \cdot \sqrt[3]{3}\right) \cdot \sqrt[3]{3}} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\]
  5. Applied times-frac0.4

    \[\leadsto \color{blue}{\left(\frac{\sqrt{1}}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\sqrt{1}}{\sqrt[3]{3}}\right)} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\]
  6. Applied associate-*l*0.4

    \[\leadsto \color{blue}{\frac{\sqrt{1}}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \left(\frac{\sqrt{1}}{\sqrt[3]{3}} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\right)}\]
  7. Final simplification0.4

    \[\leadsto \frac{\sqrt{1}}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \left(\frac{\sqrt{1}}{\sqrt[3]{3}} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\right)\]

Reproduce

herbie shell --seed 2020021 +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)))))