Average Error: 0.1 → 0.1
Time: 12.0s
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 r152629 = x;
        double r152630 = y;
        double r152631 = sin(r152630);
        double r152632 = r152629 + r152631;
        double r152633 = z;
        double r152634 = cos(r152630);
        double r152635 = r152633 * r152634;
        double r152636 = r152632 + r152635;
        return r152636;
}

double f(double x, double y, double z) {
        double r152637 = x;
        double r152638 = y;
        double r152639 = sin(r152638);
        double r152640 = r152637 + r152639;
        double r152641 = z;
        double r152642 = cos(r152638);
        double r152643 = r152641 * r152642;
        double r152644 = r152640 + r152643;
        return r152644;
}

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))))