Average Error: 24.1 → 12.3
Time: 9.7s
Precision: binary64
\[\alpha > -1 \land \beta > -1 \land i > 0\]
\[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
\[\frac{e^{\log \left(\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{2 + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)} + 1\right)}}{2}\]
\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}
\frac{e^{\log \left(\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{2 + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)} + 1\right)}}{2}
(FPCore (alpha beta i)
 :precision binary64
 (/
  (+
   (/
    (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i)))
    (+ (+ (+ alpha beta) (* 2.0 i)) 2.0))
   1.0)
  2.0))
(FPCore (alpha beta i)
 :precision binary64
 (/
  (exp
   (log
    (+
     (/
      (* (+ alpha beta) (/ (- beta alpha) (+ (+ alpha beta) (* 2.0 i))))
      (+ 2.0 (+ (+ alpha beta) (* 2.0 i))))
     1.0)))
  2.0))
double code(double alpha, double beta, double i) {
	return (((((alpha + beta) * (beta - alpha)) / ((alpha + beta) + (2.0 * i))) / (((alpha + beta) + (2.0 * i)) + 2.0)) + 1.0) / 2.0;
}
double code(double alpha, double beta, double i) {
	return exp(log((((alpha + beta) * ((beta - alpha) / ((alpha + beta) + (2.0 * i)))) / (2.0 + ((alpha + beta) + (2.0 * i)))) + 1.0)) / 2.0;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 24.1

    \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
  2. Using strategy rm
  3. Applied *-un-lft-identity_binary6424.1

    \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
  4. Applied times-frac_binary6412.3

    \[\leadsto \frac{\frac{\color{blue}{\frac{\alpha + \beta}{1} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
  5. Simplified12.3

    \[\leadsto \frac{\frac{\color{blue}{\left(\alpha + \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
  6. Using strategy rm
  7. Applied add-cbrt-cube_binary6412.3

    \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \cdot \frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}\right) \cdot \frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}} + 1}{2}\]
  8. Simplified12.3

    \[\leadsto \frac{\sqrt[3]{\color{blue}{{\left(\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{2 + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}\right)}^{3}}} + 1}{2}\]
  9. Using strategy rm
  10. Applied add-exp-log_binary6412.3

    \[\leadsto \frac{\color{blue}{e^{\log \left(\sqrt[3]{{\left(\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{2 + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}\right)}^{3}} + 1\right)}}}{2}\]
  11. Simplified12.3

    \[\leadsto \frac{e^{\color{blue}{\log \left(\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{2 + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)} + 1\right)}}}{2}\]
  12. Final simplification12.3

    \[\leadsto \frac{e^{\log \left(\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{2 + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)} + 1\right)}}{2}\]

Reproduce

herbie shell --seed 2020268 
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/2"
  :precision binary64
  :pre (and (> alpha -1.0) (> beta -1.0) (> i 0.0))
  (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) 1.0) 2.0))