Average Error: 0.1 → 0.1
Time: 11.9s
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 r194926 = x;
        double r194927 = y;
        double r194928 = sin(r194927);
        double r194929 = r194926 + r194928;
        double r194930 = z;
        double r194931 = cos(r194927);
        double r194932 = r194930 * r194931;
        double r194933 = r194929 + r194932;
        return r194933;
}

double f(double x, double y, double z) {
        double r194934 = x;
        double r194935 = y;
        double r194936 = sin(r194935);
        double r194937 = r194934 + r194936;
        double r194938 = z;
        double r194939 = cos(r194935);
        double r194940 = r194938 * r194939;
        double r194941 = r194937 + r194940;
        return r194941;
}

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 + \sin y\right) + z \cdot \cos y\]
  2. Final simplification0.1

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

Reproduce

herbie shell --seed 2020047 +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))))