Average Error: 15.6 → 15.6
Time: 670.0ms
Precision: binary64
\[\frac{far + near}{\left(2 \cdot far\right) \cdot near}\]
\[\frac{far + near}{\left(2 \cdot far\right) \cdot near}\]
\frac{far + near}{\left(2 \cdot far\right) \cdot near}
\frac{far + near}{\left(2 \cdot far\right) \cdot near}
double code(double far, double near) {
	return ((double) (((double) (far + near)) / ((double) (((double) (2.0 * far)) * near))));
}
double code(double far, double near) {
	return ((double) (((double) (far + near)) / ((double) (((double) (2.0 * far)) * near))));
}

Error

Bits error versus far

Bits error versus near

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.6

    \[\frac{far + near}{\left(2 \cdot far\right) \cdot near}\]
  2. Final simplification15.6

    \[\leadsto \frac{far + near}{\left(2 \cdot far\right) \cdot near}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (far near)
  :name "(/ (+ far near) (* (* 2 far) near))"
  :precision binary64
  (/ (+ far near) (* (* 2.0 far) near)))