Average Error: 0.0 → 0.0
Time: 1.5s
Precision: binary64
\[\left(4 \cdot b2\right) \cdot M2 - \left(a2 + b2\right) \cdot \left(b2 + amd2\right)\]
\[\left(4 \cdot b2\right) \cdot M2 - \left(a2 + b2\right) \cdot \left(b2 + amd2\right)\]
\left(4 \cdot b2\right) \cdot M2 - \left(a2 + b2\right) \cdot \left(b2 + amd2\right)
\left(4 \cdot b2\right) \cdot M2 - \left(a2 + b2\right) \cdot \left(b2 + amd2\right)
double code(double b2, double M2, double a2, double amd2) {
	return ((double) (((double) (((double) (4.0 * b2)) * M2)) - ((double) (((double) (a2 + b2)) * ((double) (b2 + amd2))))));
}
double code(double b2, double M2, double a2, double amd2) {
	return ((double) (((double) (((double) (4.0 * b2)) * M2)) - ((double) (((double) (a2 + b2)) * ((double) (b2 + amd2))))));
}

Error

Bits error versus b2

Bits error versus M2

Bits error versus a2

Bits error versus amd2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(4 \cdot b2\right) \cdot M2 - \left(a2 + b2\right) \cdot \left(b2 + amd2\right)\]
  2. Final simplification0.0

    \[\leadsto \left(4 \cdot b2\right) \cdot M2 - \left(a2 + b2\right) \cdot \left(b2 + amd2\right)\]

Reproduce

herbie shell --seed 2020153 
(FPCore (b2 M2 a2 amd2)
  :name "(- (* (* 4.0 b2) M2) (* (+ a2 b2) (+ b2 amd2)))"
  :precision binary64
  (- (* (* 4.0 b2) M2) (* (+ a2 b2) (+ b2 amd2))))