Average Error: 16.6 → 16.6
Time: 1.3s
Precision: binary64
Cost: 832
\[\alpha > -1 \land \beta > -1\]
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
(FPCore (alpha beta)
 :precision binary64
 (/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))
(FPCore (alpha beta)
 :precision binary64
 (/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))
double code(double alpha, double beta) {
	return (((beta - alpha) / ((alpha + beta) + 2.0)) + 1.0) / 2.0;
}
double code(double alpha, double beta) {
	return (((beta - alpha) / ((alpha + beta) + 2.0)) + 1.0) / 2.0;
}

Error

Bits error versus alpha

Bits error versus beta

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 16.6

    \[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]
  2. Simplified16.6

    \[\leadsto \color{blue}{\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}}\]
  3. Final simplification16.6

    \[\leadsto \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\]

Reproduce

herbie shell --seed 2021023 
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/1"
  :precision binary64
  :pre (and (> alpha -1.0) (> beta -1.0))
  (/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))