Average Error: 0.1 → 0.2
Time: 18.4s
Precision: 64
\[x \cdot \sin y + z \cdot \cos y\]
\[\mathsf{fma}\left(x, \sin y, \left({\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}} \cdot z\right) \cdot \sqrt[3]{\cos y}\right)\]
x \cdot \sin y + z \cdot \cos y
\mathsf{fma}\left(x, \sin y, \left({\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}} \cdot z\right) \cdot \sqrt[3]{\cos y}\right)
double f(double x, double y, double z) {
        double r118238 = x;
        double r118239 = y;
        double r118240 = sin(r118239);
        double r118241 = r118238 * r118240;
        double r118242 = z;
        double r118243 = cos(r118239);
        double r118244 = r118242 * r118243;
        double r118245 = r118241 + r118244;
        return r118245;
}

double f(double x, double y, double z) {
        double r118246 = x;
        double r118247 = y;
        double r118248 = sin(r118247);
        double r118249 = cos(r118247);
        double r118250 = 2.0;
        double r118251 = pow(r118249, r118250);
        double r118252 = 0.3333333333333333;
        double r118253 = pow(r118251, r118252);
        double r118254 = z;
        double r118255 = r118253 * r118254;
        double r118256 = cbrt(r118249);
        double r118257 = r118255 * r118256;
        double r118258 = fma(r118246, r118248, r118257);
        return r118258;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Derivation

  1. Initial program 0.1

    \[x \cdot \sin y + z \cdot \cos y\]
  2. Simplified0.1

    \[\leadsto \color{blue}{\mathsf{fma}\left(\cos y, z, x \cdot \sin y\right)}\]
  3. Taylor expanded around inf 0.1

    \[\leadsto \color{blue}{z \cdot \cos y + x \cdot \sin y}\]
  4. Simplified0.1

    \[\leadsto \color{blue}{\mathsf{fma}\left(x, \sin y, z \cdot \cos y\right)}\]
  5. Using strategy rm
  6. Applied add-cube-cbrt0.4

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

    \[\leadsto \mathsf{fma}\left(x, \sin y, \color{blue}{\left(z \cdot \left(\sqrt[3]{\cos y} \cdot \sqrt[3]{\cos y}\right)\right) \cdot \sqrt[3]{\cos y}}\right)\]
  8. Simplified0.4

    \[\leadsto \mathsf{fma}\left(x, \sin y, \color{blue}{\left(\sqrt[3]{\cos y} \cdot \left(z \cdot \sqrt[3]{\cos y}\right)\right)} \cdot \sqrt[3]{\cos y}\right)\]
  9. Taylor expanded around inf 0.2

    \[\leadsto \mathsf{fma}\left(x, \sin y, \color{blue}{\left(z \cdot {\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}}\right)} \cdot \sqrt[3]{\cos y}\right)\]
  10. Simplified0.3

    \[\leadsto \mathsf{fma}\left(x, \sin y, \color{blue}{\left(\sqrt[3]{{\left(\cos y\right)}^{2}} \cdot z\right)} \cdot \sqrt[3]{\cos y}\right)\]
  11. Using strategy rm
  12. Applied pow1/30.2

    \[\leadsto \mathsf{fma}\left(x, \sin y, \left(\color{blue}{{\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}}} \cdot z\right) \cdot \sqrt[3]{\cos y}\right)\]
  13. Final simplification0.2

    \[\leadsto \mathsf{fma}\left(x, \sin y, \left({\left({\left(\cos y\right)}^{2}\right)}^{\frac{1}{3}} \cdot z\right) \cdot \sqrt[3]{\cos y}\right)\]

Reproduce

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