Average Error: 0.0 → 0.0
Time: 3.5s
Precision: 64
\[\left(\left(\left(x + y\right) + z\right) + w\right) + m\]
\[\left(\left(\left(x + y\right) + z\right) + w\right) + m\]
\left(\left(\left(x + y\right) + z\right) + w\right) + m
\left(\left(\left(x + y\right) + z\right) + w\right) + m
double f(double x, double y, double z, double w, double m) {
        double r620129 = x;
        double r620130 = y;
        double r620131 = r620129 + r620130;
        double r620132 = z;
        double r620133 = r620131 + r620132;
        double r620134 = w;
        double r620135 = r620133 + r620134;
        double r620136 = m;
        double r620137 = r620135 + r620136;
        return r620137;
}

double f(double x, double y, double z, double w, double m) {
        double r620138 = x;
        double r620139 = y;
        double r620140 = r620138 + r620139;
        double r620141 = z;
        double r620142 = r620140 + r620141;
        double r620143 = w;
        double r620144 = r620142 + r620143;
        double r620145 = m;
        double r620146 = r620144 + r620145;
        return r620146;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus w

Bits error versus m

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(\left(\left(x + y\right) + z\right) + w\right) + m\]
  2. Final simplification0.0

    \[\leadsto \left(\left(\left(x + y\right) + z\right) + w\right) + m\]

Reproduce

herbie shell --seed 1 
(FPCore (x y z w m)
  :name "x + y + z + w + m"
  :precision binary64
  (+ (+ (+ (+ x y) z) w) m))