\[\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.1 m
Input Error: 25.8
Output Error: 17.9
Log:
Profile: 🕒
\(\log_* (1 + (e^{\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.8
  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 log1p-expm1-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}{\log_* (1 + (e^{\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)))