Average Error: 1.3 → 0.4
Time: 4.8s
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{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)\]
\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(\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)
double f(double x, double y, double z, double t) {
        double r707185 = 1.0;
        double r707186 = 3.0;
        double r707187 = r707185 / r707186;
        double r707188 = x;
        double r707189 = y;
        double r707190 = 27.0;
        double r707191 = r707189 * r707190;
        double r707192 = r707188 / r707191;
        double r707193 = r707186 * r707192;
        double r707194 = z;
        double r707195 = 2.0;
        double r707196 = r707194 * r707195;
        double r707197 = r707193 / r707196;
        double r707198 = t;
        double r707199 = sqrt(r707198);
        double r707200 = r707197 * r707199;
        double r707201 = acos(r707200);
        double r707202 = r707187 * r707201;
        return r707202;
}

double f(double x, double y, double z, double t) {
        double r707203 = 1.0;
        double r707204 = 3.0;
        double r707205 = cbrt(r707204);
        double r707206 = r707205 * r707205;
        double r707207 = r707203 / r707206;
        double r707208 = 1.0;
        double r707209 = r707208 / r707205;
        double r707210 = x;
        double r707211 = y;
        double r707212 = 27.0;
        double r707213 = r707211 * r707212;
        double r707214 = r707210 / r707213;
        double r707215 = r707204 * r707214;
        double r707216 = z;
        double r707217 = 2.0;
        double r707218 = r707216 * r707217;
        double r707219 = r707215 / r707218;
        double r707220 = t;
        double r707221 = sqrt(r707220);
        double r707222 = r707219 * r707221;
        double r707223 = acos(r707222);
        double r707224 = r707209 * r707223;
        double r707225 = r707207 * r707224;
        return r707225;
}

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 *-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.4

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

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

    \[\leadsto \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)\]

Reproduce

herbie shell --seed 2020062 
(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)))))