Average Error: 0.1 → 0.4
Time: 17.0s
Precision: 64
\[x \cdot \sin y + z \cdot \cos y\]
\[x \cdot \sin y + \left(z \cdot \sqrt[3]{\log \left(e^{\cos y \cdot \cos y}\right)}\right) \cdot \sqrt[3]{\cos y}\]
x \cdot \sin y + z \cdot \cos y
x \cdot \sin y + \left(z \cdot \sqrt[3]{\log \left(e^{\cos y \cdot \cos y}\right)}\right) \cdot \sqrt[3]{\cos y}
double f(double x, double y, double z) {
        double r14683230 = x;
        double r14683231 = y;
        double r14683232 = sin(r14683231);
        double r14683233 = r14683230 * r14683232;
        double r14683234 = z;
        double r14683235 = cos(r14683231);
        double r14683236 = r14683234 * r14683235;
        double r14683237 = r14683233 + r14683236;
        return r14683237;
}

double f(double x, double y, double z) {
        double r14683238 = x;
        double r14683239 = y;
        double r14683240 = sin(r14683239);
        double r14683241 = r14683238 * r14683240;
        double r14683242 = z;
        double r14683243 = cos(r14683239);
        double r14683244 = r14683243 * r14683243;
        double r14683245 = exp(r14683244);
        double r14683246 = log(r14683245);
        double r14683247 = cbrt(r14683246);
        double r14683248 = r14683242 * r14683247;
        double r14683249 = cbrt(r14683243);
        double r14683250 = r14683248 * r14683249;
        double r14683251 = r14683241 + r14683250;
        return r14683251;
}

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

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

    \[\leadsto x \cdot \sin y + \color{blue}{\left(z \cdot \left(\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}\right)\right) \cdot \sqrt[3]{\cos y}}\]
  5. Using strategy rm
  6. Applied cbrt-unprod0.3

    \[\leadsto x \cdot \sin y + \left(z \cdot \color{blue}{\sqrt[3]{\cos y \cdot \cos y}}\right) \cdot \sqrt[3]{\cos y}\]
  7. Using strategy rm
  8. Applied add-log-exp0.4

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

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

Reproduce

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