Average Error: 0.1 → 0.6
Time: 17.0s
Precision: 64
\[x \cdot \cos y + z \cdot \sin y\]
\[x \cdot \cos y + \left(\sqrt[3]{z \cdot \sin y} \cdot \sqrt[3]{z \cdot \sin y}\right) \cdot \sqrt[3]{z \cdot \sin y}\]
x \cdot \cos y + z \cdot \sin y
x \cdot \cos y + \left(\sqrt[3]{z \cdot \sin y} \cdot \sqrt[3]{z \cdot \sin y}\right) \cdot \sqrt[3]{z \cdot \sin y}
double f(double x, double y, double z) {
        double r134566 = x;
        double r134567 = y;
        double r134568 = cos(r134567);
        double r134569 = r134566 * r134568;
        double r134570 = z;
        double r134571 = sin(r134567);
        double r134572 = r134570 * r134571;
        double r134573 = r134569 + r134572;
        return r134573;
}

double f(double x, double y, double z) {
        double r134574 = x;
        double r134575 = y;
        double r134576 = cos(r134575);
        double r134577 = r134574 * r134576;
        double r134578 = z;
        double r134579 = sin(r134575);
        double r134580 = r134578 * r134579;
        double r134581 = cbrt(r134580);
        double r134582 = r134581 * r134581;
        double r134583 = r134582 * r134581;
        double r134584 = r134577 + r134583;
        return r134584;
}

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

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

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

Reproduce

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