Average Error: 1.3 → 0.3
Time: 22.2s
Precision: 64
\[\frac{1}{3} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)\]
\[\left(\frac{1}{\sqrt[3]{3}} \cdot \cos^{-1} \left(\frac{\frac{x}{27 \cdot y} \cdot 3}{2 \cdot z} \cdot \sqrt{t}\right)\right) \cdot \frac{1}{\sqrt[3]{3} \cdot \sqrt[3]{3}}\]
\frac{1}{3} \cdot \cos^{-1} \left(\frac{3 \cdot \frac{x}{y \cdot 27}}{z \cdot 2} \cdot \sqrt{t}\right)
\left(\frac{1}{\sqrt[3]{3}} \cdot \cos^{-1} \left(\frac{\frac{x}{27 \cdot y} \cdot 3}{2 \cdot z} \cdot \sqrt{t}\right)\right) \cdot \frac{1}{\sqrt[3]{3} \cdot \sqrt[3]{3}}
double f(double x, double y, double z, double t) {
        double r33481548 = 1.0;
        double r33481549 = 3.0;
        double r33481550 = r33481548 / r33481549;
        double r33481551 = x;
        double r33481552 = y;
        double r33481553 = 27.0;
        double r33481554 = r33481552 * r33481553;
        double r33481555 = r33481551 / r33481554;
        double r33481556 = r33481549 * r33481555;
        double r33481557 = z;
        double r33481558 = 2.0;
        double r33481559 = r33481557 * r33481558;
        double r33481560 = r33481556 / r33481559;
        double r33481561 = t;
        double r33481562 = sqrt(r33481561);
        double r33481563 = r33481560 * r33481562;
        double r33481564 = acos(r33481563);
        double r33481565 = r33481550 * r33481564;
        return r33481565;
}

double f(double x, double y, double z, double t) {
        double r33481566 = 1.0;
        double r33481567 = 3.0;
        double r33481568 = cbrt(r33481567);
        double r33481569 = r33481566 / r33481568;
        double r33481570 = x;
        double r33481571 = 27.0;
        double r33481572 = y;
        double r33481573 = r33481571 * r33481572;
        double r33481574 = r33481570 / r33481573;
        double r33481575 = r33481574 * r33481567;
        double r33481576 = 2.0;
        double r33481577 = z;
        double r33481578 = r33481576 * r33481577;
        double r33481579 = r33481575 / r33481578;
        double r33481580 = t;
        double r33481581 = sqrt(r33481580);
        double r33481582 = r33481579 * r33481581;
        double r33481583 = acos(r33481582);
        double r33481584 = r33481569 * r33481583;
        double r33481585 = 1.0;
        double r33481586 = r33481568 * r33481568;
        double r33481587 = r33481585 / r33481586;
        double r33481588 = r33481584 * r33481587;
        return r33481588;
}

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.3
\[\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 *-un-lft-identity1.3

    \[\leadsto \frac{\color{blue}{1 \cdot 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.3

    \[\leadsto \color{blue}{\left(\frac{1}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{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.3

    \[\leadsto \color{blue}{\frac{1}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \left(\frac{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.3

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

Reproduce

herbie shell --seed 2019174 +o rules:numerics
(FPCore (x y z t)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1, D"

  :herbie-target
  (/ (acos (* (/ (/ x 27.0) (* y z)) (/ (sqrt t) (/ 2.0 3.0)))) 3.0)

  (* (/ 1.0 3.0) (acos (* (/ (* 3.0 (/ x (* y 27.0))) (* z 2.0)) (sqrt t)))))