\[\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: 52.8
Output Error: 38.8
Log:
Profile: 🕒
\(\frac{1}{\frac{{\left(\beta + (i * 2 + \alpha)_*\right)}^2 - 1.0}{\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)_*}}}\)
  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}\]
    52.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}}\]
    38.8
  3. Using strategy rm
    38.8
  4. Applied clear-num 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}{\frac{1}{\frac{{\left(\beta + (i * 2 + \alpha)_*\right)}^2 - 1.0}{\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)_*}}}}\]
    38.8

  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)))