Average Error: 0.1 → 0.9
Time: 5.8s
Precision: 64
\[x \cdot \cos y - z \cdot \sin y\]
\[\left(\sqrt[3]{x \cdot \cos y} \cdot \sqrt[3]{x \cdot \cos y}\right) \cdot \sqrt[3]{x \cdot \cos y} - z \cdot \sin y\]
x \cdot \cos y - z \cdot \sin y
\left(\sqrt[3]{x \cdot \cos y} \cdot \sqrt[3]{x \cdot \cos y}\right) \cdot \sqrt[3]{x \cdot \cos y} - z \cdot \sin y
double f(double x, double y, double z) {
        double r211350 = x;
        double r211351 = y;
        double r211352 = cos(r211351);
        double r211353 = r211350 * r211352;
        double r211354 = z;
        double r211355 = sin(r211351);
        double r211356 = r211354 * r211355;
        double r211357 = r211353 - r211356;
        return r211357;
}

double f(double x, double y, double z) {
        double r211358 = x;
        double r211359 = y;
        double r211360 = cos(r211359);
        double r211361 = r211358 * r211360;
        double r211362 = cbrt(r211361);
        double r211363 = r211362 * r211362;
        double r211364 = r211363 * r211362;
        double r211365 = z;
        double r211366 = sin(r211359);
        double r211367 = r211365 * r211366;
        double r211368 = r211364 - r211367;
        return r211368;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[x \cdot \cos y - z \cdot \sin y\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.9

    \[\leadsto \color{blue}{\left(\sqrt[3]{x \cdot \cos y} \cdot \sqrt[3]{x \cdot \cos y}\right) \cdot \sqrt[3]{x \cdot \cos y}} - z \cdot \sin y\]
  4. Final simplification0.9

    \[\leadsto \left(\sqrt[3]{x \cdot \cos y} \cdot \sqrt[3]{x \cdot \cos y}\right) \cdot \sqrt[3]{x \cdot \cos y} - z \cdot \sin y\]

Reproduce

herbie shell --seed 2020024 
(FPCore (x y z)
  :name "Diagrams.ThreeD.Transform:aboutX from diagrams-lib-1.3.0.3, A"
  :precision binary64
  (- (* x (cos y)) (* z (sin y))))