Average Error: 0.0 → 0.0
Time: 4.2s
Precision: 64
\[\left(x + \sin y\right) + z \cdot \cos y\]
\[\left(x + \sin y\right) + z \cdot \cos y\]
\left(x + \sin y\right) + z \cdot \cos y
\left(x + \sin y\right) + z \cdot \cos y
double f(double x, double y, double z) {
        double r179428 = x;
        double r179429 = y;
        double r179430 = sin(r179429);
        double r179431 = r179428 + r179430;
        double r179432 = z;
        double r179433 = cos(r179429);
        double r179434 = r179432 * r179433;
        double r179435 = r179431 + r179434;
        return r179435;
}

double f(double x, double y, double z) {
        double r179436 = x;
        double r179437 = y;
        double r179438 = sin(r179437);
        double r179439 = r179436 + r179438;
        double r179440 = z;
        double r179441 = cos(r179437);
        double r179442 = r179440 * r179441;
        double r179443 = r179439 + r179442;
        return r179443;
}

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

    \[\left(x + \sin y\right) + z \cdot \cos y\]
  2. Final simplification0.0

    \[\leadsto \left(x + \sin y\right) + z \cdot \cos y\]

Reproduce

herbie shell --seed 2020056 +o rules:numerics
(FPCore (x y z)
  :name "Graphics.Rasterific.Svg.PathConverter:segmentToBezier from rasterific-svg-0.2.3.1, C"
  :precision binary64
  (+ (+ x (sin y)) (* z (cos y))))