Average Error: 0.1 → 0.1
Time: 14.9s
Precision: 64
\[x \cdot \cos y + z \cdot \sin y\]
\[x \cdot \cos y + z \cdot \sin y\]
x \cdot \cos y + z \cdot \sin y
x \cdot \cos y + z \cdot \sin y
double f(double x, double y, double z) {
        double r152943 = x;
        double r152944 = y;
        double r152945 = cos(r152944);
        double r152946 = r152943 * r152945;
        double r152947 = z;
        double r152948 = sin(r152944);
        double r152949 = r152947 * r152948;
        double r152950 = r152946 + r152949;
        return r152950;
}

double f(double x, double y, double z) {
        double r152951 = x;
        double r152952 = y;
        double r152953 = cos(r152952);
        double r152954 = r152951 * r152953;
        double r152955 = z;
        double r152956 = sin(r152952);
        double r152957 = r152955 * r152956;
        double r152958 = r152954 + r152957;
        return r152958;
}

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. Final simplification0.1

    \[\leadsto x \cdot \cos y + z \cdot \sin y\]

Reproduce

herbie shell --seed 2019208 
(FPCore (x y z)
  :name "Diagrams.ThreeD.Transform:aboutY from diagrams-lib-1.3.0.3"
  :precision binary64
  (+ (* x (cos y)) (* z (sin y))))