Average Error: 1.3 → 0.3
Time: 12.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)\]
\[\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 r427201 = 1.0;
        double r427202 = 3.0;
        double r427203 = r427201 / r427202;
        double r427204 = x;
        double r427205 = y;
        double r427206 = 27.0;
        double r427207 = r427205 * r427206;
        double r427208 = r427204 / r427207;
        double r427209 = r427202 * r427208;
        double r427210 = z;
        double r427211 = 2.0;
        double r427212 = r427210 * r427211;
        double r427213 = r427209 / r427212;
        double r427214 = t;
        double r427215 = sqrt(r427214);
        double r427216 = r427213 * r427215;
        double r427217 = acos(r427216);
        double r427218 = r427203 * r427217;
        return r427218;
}

double f(double x, double y, double z, double t) {
        double r427219 = 1.0;
        double r427220 = sqrt(r427219);
        double r427221 = 3.0;
        double r427222 = cbrt(r427221);
        double r427223 = r427222 * r427222;
        double r427224 = r427220 / r427223;
        double r427225 = r427220 / r427222;
        double r427226 = x;
        double r427227 = y;
        double r427228 = 27.0;
        double r427229 = r427227 * r427228;
        double r427230 = r427226 / r427229;
        double r427231 = r427221 * r427230;
        double r427232 = z;
        double r427233 = 2.0;
        double r427234 = r427232 * r427233;
        double r427235 = r427231 / r427234;
        double r427236 = t;
        double r427237 = sqrt(r427236);
        double r427238 = r427235 * r427237;
        double r427239 = acos(r427238);
        double r427240 = r427225 * r427239;
        double r427241 = r427224 * r427240;
        return r427241;
}

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.3
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 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.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 2020042 +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)))))