Average Error: 0.1 → 0.6
Time: 20.6s
Precision: 64
\[x \cdot \sin y + z \cdot \cos y\]
\[\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(\sqrt[3]{x} \cdot \sin y\right) + z \cdot \cos y\]
x \cdot \sin y + z \cdot \cos y
\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(\sqrt[3]{x} \cdot \sin y\right) + z \cdot \cos y
double f(double x, double y, double z) {
        double r9135197 = x;
        double r9135198 = y;
        double r9135199 = sin(r9135198);
        double r9135200 = r9135197 * r9135199;
        double r9135201 = z;
        double r9135202 = cos(r9135198);
        double r9135203 = r9135201 * r9135202;
        double r9135204 = r9135200 + r9135203;
        return r9135204;
}

double f(double x, double y, double z) {
        double r9135205 = x;
        double r9135206 = cbrt(r9135205);
        double r9135207 = r9135206 * r9135206;
        double r9135208 = y;
        double r9135209 = sin(r9135208);
        double r9135210 = r9135206 * r9135209;
        double r9135211 = r9135207 * r9135210;
        double r9135212 = z;
        double r9135213 = cos(r9135208);
        double r9135214 = r9135212 * r9135213;
        double r9135215 = r9135211 + r9135214;
        return r9135215;
}

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(\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}\right)} \cdot \sin y + z \cdot \cos y\]
  4. Applied associate-*l*0.6

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

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

Reproduce

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