Average Error: 0.1 → 0.6
Time: 12.8s
Precision: 64
\[x \cdot \sin y + z \cdot \cos y\]
\[\left(\sqrt[3]{x \cdot \sin y} \cdot \sqrt[3]{x \cdot \sin y}\right) \cdot \sqrt[3]{x \cdot \sin y} + z \cdot \cos y\]
x \cdot \sin y + z \cdot \cos y
\left(\sqrt[3]{x \cdot \sin y} \cdot \sqrt[3]{x \cdot \sin y}\right) \cdot \sqrt[3]{x \cdot \sin y} + z \cdot \cos y
double f(double x, double y, double z) {
        double r251516 = x;
        double r251517 = y;
        double r251518 = sin(r251517);
        double r251519 = r251516 * r251518;
        double r251520 = z;
        double r251521 = cos(r251517);
        double r251522 = r251520 * r251521;
        double r251523 = r251519 + r251522;
        return r251523;
}

double f(double x, double y, double z) {
        double r251524 = x;
        double r251525 = y;
        double r251526 = sin(r251525);
        double r251527 = r251524 * r251526;
        double r251528 = cbrt(r251527);
        double r251529 = r251528 * r251528;
        double r251530 = r251529 * r251528;
        double r251531 = z;
        double r251532 = cos(r251525);
        double r251533 = r251531 * r251532;
        double r251534 = r251530 + r251533;
        return r251534;
}

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 \sin y + z \cdot \cos y\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.6

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

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

Reproduce

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