Average Error: 0.0 → 0.0
Time: 6.2s
Precision: 64
\[\left(s + c \cdot s1\right) - s2\]
\[\left(s + c \cdot s1\right) - s2\]
\left(s + c \cdot s1\right) - s2
\left(s + c \cdot s1\right) - s2
double f(double s, double c, double s1, double s2) {
        double r535827 = s;
        double r535828 = c;
        double r535829 = s1;
        double r535830 = r535828 * r535829;
        double r535831 = r535827 + r535830;
        double r535832 = s2;
        double r535833 = r535831 - r535832;
        return r535833;
}

double f(double s, double c, double s1, double s2) {
        double r535834 = s;
        double r535835 = c;
        double r535836 = s1;
        double r535837 = r535835 * r535836;
        double r535838 = r535834 + r535837;
        double r535839 = s2;
        double r535840 = r535838 - r535839;
        return r535840;
}

Error

Bits error versus s

Bits error versus c

Bits error versus s1

Bits error versus s2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(s + c \cdot s1\right) - s2\]
  2. Final simplification0.0

    \[\leadsto \left(s + c \cdot s1\right) - s2\]

Reproduce

herbie shell --seed 1 
(FPCore (s c s1 s2)
  :name "s + c * s1 - s2"
  :precision binary64
  (- (+ s (* c s1)) s2))