Average Error: 0.1 → 0.1
Time: 4.6s
Precision: 64
\[\left(x + \cos y\right) - z \cdot \sin y\]
\[x + \left(\cos y - z \cdot \sin y\right)\]
\left(x + \cos y\right) - z \cdot \sin y
x + \left(\cos y - z \cdot \sin y\right)
double f(double x, double y, double z) {
        double r145124 = x;
        double r145125 = y;
        double r145126 = cos(r145125);
        double r145127 = r145124 + r145126;
        double r145128 = z;
        double r145129 = sin(r145125);
        double r145130 = r145128 * r145129;
        double r145131 = r145127 - r145130;
        return r145131;
}

double f(double x, double y, double z) {
        double r145132 = x;
        double r145133 = y;
        double r145134 = cos(r145133);
        double r145135 = z;
        double r145136 = sin(r145133);
        double r145137 = r145135 * r145136;
        double r145138 = r145134 - r145137;
        double r145139 = r145132 + r145138;
        return r145139;
}

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. Using strategy rm
  3. Applied associate--l+0.1

    \[\leadsto \color{blue}{x + \left(\cos y - z \cdot \sin y\right)}\]
  4. Final simplification0.1

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

Reproduce

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