Average Error: 0.1 → 0.4
Time: 5.7s
Precision: 64
\[x \cdot \cos y - z \cdot \sin y\]
\[\left(x \cdot \left(\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}\right)\right) \cdot \sqrt[3]{\cos y} - z \cdot \sin y\]
x \cdot \cos y - z \cdot \sin y
\left(x \cdot \left(\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}\right)\right) \cdot \sqrt[3]{\cos y} - z \cdot \sin y
double f(double x, double y, double z) {
        double r289478 = x;
        double r289479 = y;
        double r289480 = cos(r289479);
        double r289481 = r289478 * r289480;
        double r289482 = z;
        double r289483 = sin(r289479);
        double r289484 = r289482 * r289483;
        double r289485 = r289481 - r289484;
        return r289485;
}

double f(double x, double y, double z) {
        double r289486 = x;
        double r289487 = y;
        double r289488 = cos(r289487);
        double r289489 = cbrt(r289488);
        double r289490 = r289489 * r289489;
        double r289491 = r289486 * r289490;
        double r289492 = r289491 * r289489;
        double r289493 = z;
        double r289494 = sin(r289487);
        double r289495 = r289493 * r289494;
        double r289496 = r289492 - r289495;
        return r289496;
}

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

    \[\leadsto x \cdot \color{blue}{\left(\left(\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}\right) \cdot \sqrt[3]{\cos y}\right)} - z \cdot \sin y\]
  4. Applied associate-*r*0.4

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

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

Reproduce

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