\[\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
Test:
Octave 3.8, jcobi/4
Bits:
128 bits
Bits error versus alpha
Bits error versus beta
Bits error versus i
Time: 1.2 m
Input Error: 25.5
Output Error: 17.9
Log:
Profile: 🕒
\((e^{\log_* (1 + \frac{\left(\frac{\left(\beta + \alpha\right) + i}{\beta + (i * 2 + \alpha)_*} \cdot (i * \left(\left(\beta + \alpha\right) + i\right) + \left(\alpha \cdot \beta\right))_*\right) \cdot \frac{i}{\beta + (i * 2 + \alpha)_*}}{{\left(\beta + (i * 2 + \alpha)_*\right)}^2 - 1.0})} - 1)^*\)
  1. Started with
    \[\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
    25.5
  2. Applied simplify to get
    \[\color{red}{\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}} \leadsto \color{blue}{\frac{\left(\frac{\left(\beta + \alpha\right) + i}{\beta + (i * 2 + \alpha)_*} \cdot (i * \left(\left(\beta + \alpha\right) + i\right) + \left(\alpha \cdot \beta\right))_*\right) \cdot \frac{i}{\beta + (i * 2 + \alpha)_*}}{{\left(\beta + (i * 2 + \alpha)_*\right)}^2 - 1.0}}\]
    17.9
  3. Using strategy rm
    17.9
  4. Applied expm1-log1p-u to get
    \[\color{red}{\frac{\left(\frac{\left(\beta + \alpha\right) + i}{\beta + (i * 2 + \alpha)_*} \cdot (i * \left(\left(\beta + \alpha\right) + i\right) + \left(\alpha \cdot \beta\right))_*\right) \cdot \frac{i}{\beta + (i * 2 + \alpha)_*}}{{\left(\beta + (i * 2 + \alpha)_*\right)}^2 - 1.0}} \leadsto \color{blue}{(e^{\log_* (1 + \frac{\left(\frac{\left(\beta + \alpha\right) + i}{\beta + (i * 2 + \alpha)_*} \cdot (i * \left(\left(\beta + \alpha\right) + i\right) + \left(\alpha \cdot \beta\right))_*\right) \cdot \frac{i}{\beta + (i * 2 + \alpha)_*}}{{\left(\beta + (i * 2 + \alpha)_*\right)}^2 - 1.0})} - 1)^*}\]
    17.9

  5. Removed slow pow expressions

Original test:


(lambda ((alpha default) (beta default) (i default))
  #:name "Octave 3.8, jcobi/4"
  (/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)))