Average Error: 0.0 → 0.0
Time: 22.3s
Precision: binary64
\[\left(n \cdot n + dz \cdot dz\right) + \frac{\left(m - ra2\right) - 1}{2}\]
\[\left(n \cdot n + dz \cdot dz\right) + \frac{\left(m - ra2\right) - 1}{2}\]
\left(n \cdot n + dz \cdot dz\right) + \frac{\left(m - ra2\right) - 1}{2}
\left(n \cdot n + dz \cdot dz\right) + \frac{\left(m - ra2\right) - 1}{2}
double code(double n, double dz, double m, double ra2) {
	return ((double) (((double) (((double) (n * n)) + ((double) (dz * dz)))) + ((double) (((double) (((double) (m - ra2)) - 1.0)) / 2.0))));
}
double code(double n, double dz, double m, double ra2) {
	return ((double) (((double) (((double) (n * n)) + ((double) (dz * dz)))) + ((double) (((double) (((double) (m - ra2)) - 1.0)) / 2.0))));
}

Error

Bits error versus n

Bits error versus dz

Bits error versus m

Bits error versus ra2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(n \cdot n + dz \cdot dz\right) + \frac{\left(m - ra2\right) - 1}{2}\]
  2. Final simplification0.0

    \[\leadsto \left(n \cdot n + dz \cdot dz\right) + \frac{\left(m - ra2\right) - 1}{2}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (n dz m ra2)
  :name "(+ (+ (* n n) (* dz dz)) (/ (- (- m ra2) 1) 2))"
  :precision binary64
  (+ (+ (* n n) (* dz dz)) (/ (- (- m ra2) 1.0) 2.0)))