Average Error: 0.1 → 0.1
Time: 3.3s
Precision: 64
\[\left(x + \cos y\right) - z \cdot \sin y\]
\[\left(x + \cos y\right) - z \cdot \sin y\]
\left(x + \cos y\right) - z \cdot \sin y
\left(x + \cos y\right) - z \cdot \sin y
double f(double x, double y, double z) {
        double r158423 = x;
        double r158424 = y;
        double r158425 = cos(r158424);
        double r158426 = r158423 + r158425;
        double r158427 = z;
        double r158428 = sin(r158424);
        double r158429 = r158427 * r158428;
        double r158430 = r158426 - r158429;
        return r158430;
}

double f(double x, double y, double z) {
        double r158431 = x;
        double r158432 = y;
        double r158433 = cos(r158432);
        double r158434 = r158431 + r158433;
        double r158435 = z;
        double r158436 = sin(r158432);
        double r158437 = r158435 * r158436;
        double r158438 = r158434 - r158437;
        return r158438;
}

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

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

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

Reproduce

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