Average Error: 0.1 → 0.4
Time: 20.9s
Precision: 64
\[x \cdot \cos y - z \cdot \sin y\]
\[\sqrt[3]{\cos y} \cdot \left(x \cdot \left(\sqrt[3]{\cos y} \cdot \left(\sqrt[3]{\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}} \cdot \sqrt[3]{\sqrt[3]{\cos y}}\right)\right)\right) - z \cdot \sin y\]
x \cdot \cos y - z \cdot \sin y
\sqrt[3]{\cos y} \cdot \left(x \cdot \left(\sqrt[3]{\cos y} \cdot \left(\sqrt[3]{\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}} \cdot \sqrt[3]{\sqrt[3]{\cos y}}\right)\right)\right) - z \cdot \sin y
double f(double x, double y, double z) {
        double r18219199 = x;
        double r18219200 = y;
        double r18219201 = cos(r18219200);
        double r18219202 = r18219199 * r18219201;
        double r18219203 = z;
        double r18219204 = sin(r18219200);
        double r18219205 = r18219203 * r18219204;
        double r18219206 = r18219202 - r18219205;
        return r18219206;
}

double f(double x, double y, double z) {
        double r18219207 = y;
        double r18219208 = cos(r18219207);
        double r18219209 = cbrt(r18219208);
        double r18219210 = x;
        double r18219211 = r18219209 * r18219209;
        double r18219212 = cbrt(r18219211);
        double r18219213 = cbrt(r18219209);
        double r18219214 = r18219212 * r18219213;
        double r18219215 = r18219209 * r18219214;
        double r18219216 = r18219210 * r18219215;
        double r18219217 = r18219209 * r18219216;
        double r18219218 = z;
        double r18219219 = sin(r18219207);
        double r18219220 = r18219218 * r18219219;
        double r18219221 = r18219217 - r18219220;
        return r18219221;
}

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. Using strategy rm
  6. Applied add-cube-cbrt0.4

    \[\leadsto \left(x \cdot \left(\sqrt[3]{\color{blue}{\left(\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}\right) \cdot \sqrt[3]{\cos y}}} \cdot \sqrt[3]{\cos y}\right)\right) \cdot \sqrt[3]{\cos y} - z \cdot \sin y\]
  7. Applied cbrt-prod0.4

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

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

Reproduce

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