Average Error: 10.7 → 10.7
Time: 2.0s
Precision: binary64
\[\frac{\left(a \cdot x + b \cdot y\right) + c \cdot z}{e}\]
\[\frac{\left(a \cdot x + b \cdot y\right) + c \cdot z}{e}\]
\frac{\left(a \cdot x + b \cdot y\right) + c \cdot z}{e}
\frac{\left(a \cdot x + b \cdot y\right) + c \cdot z}{e}
double code(double a, double x, double b, double y, double c, double z, double e) {
	return ((double) (((double) (((double) (((double) (a * x)) + ((double) (b * y)))) + ((double) (c * z)))) / e));
}
double code(double a, double x, double b, double y, double c, double z, double e) {
	return ((double) (((double) (((double) (((double) (a * x)) + ((double) (b * y)))) + ((double) (c * z)))) / e));
}

Error

Bits error versus a

Bits error versus x

Bits error versus b

Bits error versus y

Bits error versus c

Bits error versus z

Bits error versus e

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 10.7

    \[\frac{\left(a \cdot x + b \cdot y\right) + c \cdot z}{e}\]
  2. Final simplification10.7

    \[\leadsto \frac{\left(a \cdot x + b \cdot y\right) + c \cdot z}{e}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (a x b y c z e)
  :name "(/ (+ (+ (* a x) (* b y)) (* c z)) e)"
  :precision binary64
  (/ (+ (+ (* a x) (* b y)) (* c z)) e))