Average Error: 0.1 → 0.1
Time: 12.6s
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 r127838 = x;
        double r127839 = y;
        double r127840 = cos(r127839);
        double r127841 = r127838 + r127840;
        double r127842 = z;
        double r127843 = sin(r127839);
        double r127844 = r127842 * r127843;
        double r127845 = r127841 - r127844;
        return r127845;
}

double f(double x, double y, double z) {
        double r127846 = x;
        double r127847 = y;
        double r127848 = cos(r127847);
        double r127849 = r127846 + r127848;
        double r127850 = z;
        double r127851 = sin(r127847);
        double r127852 = r127850 * r127851;
        double r127853 = r127849 - r127852;
        return r127853;
}

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 *-un-lft-identity0.1

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

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

Reproduce

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