Average Error: 16.0 → 16.0
Time: 2.9s
Precision: binary64
\[\frac{a - \left(\left(\left(b1 \cdot b2 + c1 \cdot c2\right) + d1 \cdot d2\right) + e1 \cdot e2\right)}{\ell}\]
\[\frac{a - \left(\left(\left(b1 \cdot b2 + c1 \cdot c2\right) + d1 \cdot d2\right) + e1 \cdot e2\right)}{\ell}\]
\frac{a - \left(\left(\left(b1 \cdot b2 + c1 \cdot c2\right) + d1 \cdot d2\right) + e1 \cdot e2\right)}{\ell}
\frac{a - \left(\left(\left(b1 \cdot b2 + c1 \cdot c2\right) + d1 \cdot d2\right) + e1 \cdot e2\right)}{\ell}
double code(double a, double b1, double b2, double c1, double c2, double d1, double d2, double e1, double e2, double l) {
	return ((double) (((double) (a - ((double) (((double) (((double) (((double) (b1 * b2)) + ((double) (c1 * c2)))) + ((double) (d1 * d2)))) + ((double) (e1 * e2)))))) / l));
}
double code(double a, double b1, double b2, double c1, double c2, double d1, double d2, double e1, double e2, double l) {
	return ((double) (((double) (a - ((double) (((double) (((double) (((double) (b1 * b2)) + ((double) (c1 * c2)))) + ((double) (d1 * d2)))) + ((double) (e1 * e2)))))) / l));
}

Error

Bits error versus a

Bits error versus b1

Bits error versus b2

Bits error versus c1

Bits error versus c2

Bits error versus d1

Bits error versus d2

Bits error versus e1

Bits error versus e2

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 16.0

    \[\frac{a - \left(\left(\left(b1 \cdot b2 + c1 \cdot c2\right) + d1 \cdot d2\right) + e1 \cdot e2\right)}{\ell}\]
  2. Final simplification16.0

    \[\leadsto \frac{a - \left(\left(\left(b1 \cdot b2 + c1 \cdot c2\right) + d1 \cdot d2\right) + e1 \cdot e2\right)}{\ell}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (a b1 b2 c1 c2 d1 d2 e1 e2 l)
  :name "(/ (- a (+ (+ (+ (* b1 b2) (* c1 c2)) (* d1 d2)) (* e1 e2))) l)"
  :precision binary64
  (/ (- a (+ (+ (+ (* b1 b2) (* c1 c2)) (* d1 d2)) (* e1 e2))) l))