Average Error: 1.2 → 0.3
Time: 7.6s
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 r1476421 = 1.0;
        double r1476422 = 3.0;
        double r1476423 = r1476421 / r1476422;
        double r1476424 = x;
        double r1476425 = y;
        double r1476426 = 27.0;
        double r1476427 = r1476425 * r1476426;
        double r1476428 = r1476424 / r1476427;
        double r1476429 = r1476422 * r1476428;
        double r1476430 = z;
        double r1476431 = 2.0;
        double r1476432 = r1476430 * r1476431;
        double r1476433 = r1476429 / r1476432;
        double r1476434 = t;
        double r1476435 = sqrt(r1476434);
        double r1476436 = r1476433 * r1476435;
        double r1476437 = acos(r1476436);
        double r1476438 = r1476423 * r1476437;
        return r1476438;
}

double f(double x, double y, double z, double t) {
        double r1476439 = 1.0;
        double r1476440 = sqrt(r1476439);
        double r1476441 = 3.0;
        double r1476442 = cbrt(r1476441);
        double r1476443 = r1476442 * r1476442;
        double r1476444 = r1476440 / r1476443;
        double r1476445 = r1476440 / r1476442;
        double r1476446 = x;
        double r1476447 = y;
        double r1476448 = 27.0;
        double r1476449 = r1476447 * r1476448;
        double r1476450 = r1476446 / r1476449;
        double r1476451 = r1476441 * r1476450;
        double r1476452 = z;
        double r1476453 = 2.0;
        double r1476454 = r1476452 * r1476453;
        double r1476455 = r1476451 / r1476454;
        double r1476456 = t;
        double r1476457 = sqrt(r1476456);
        double r1476458 = r1476455 * r1476457;
        double r1476459 = acos(r1476458);
        double r1476460 = r1476445 * r1476459;
        double r1476461 = r1476444 * r1476460;
        return r1476461;
}

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.2
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.2

    \[\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.2

    \[\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.2

    \[\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.3

    \[\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.3

    \[\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.3

    \[\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 2020034 +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)))))