\[\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: 2.0 m
Input Error: 25.7
Output Error: 19.4
Log:
Profile: 🕒
\(\frac{\frac{i \cdot \left(\beta + \left(i + \alpha\right)\right)}{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2}}{1} \cdot \frac{\alpha \cdot \beta + i \cdot \left(\beta + \left(i + \alpha\right)\right)}{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2 - 1.0}\)
  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.7
  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{\frac{i \cdot \left(\beta + \left(i + \alpha\right)\right)}{\frac{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2}{\alpha \cdot \beta + i \cdot \left(\beta + \left(i + \alpha\right)\right)}}}{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2 - 1.0}}\]
    19.4
  3. Using strategy rm
    19.4
  4. Applied *-un-lft-identity to get
    \[\frac{\frac{i \cdot \left(\beta + \left(i + \alpha\right)\right)}{\frac{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2}{\alpha \cdot \beta + i \cdot \left(\beta + \left(i + \alpha\right)\right)}}}{\color{red}{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2 - 1.0}} \leadsto \frac{\frac{i \cdot \left(\beta + \left(i + \alpha\right)\right)}{\frac{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2}{\alpha \cdot \beta + i \cdot \left(\beta + \left(i + \alpha\right)\right)}}}{\color{blue}{1 \cdot \left({\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2 - 1.0\right)}}\]
    19.4
  5. Applied associate-/r/ to get
    \[\frac{\color{red}{\frac{i \cdot \left(\beta + \left(i + \alpha\right)\right)}{\frac{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2}{\alpha \cdot \beta + i \cdot \left(\beta + \left(i + \alpha\right)\right)}}}}{1 \cdot \left({\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2 - 1.0\right)} \leadsto \frac{\color{blue}{\frac{i \cdot \left(\beta + \left(i + \alpha\right)\right)}{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2} \cdot \left(\alpha \cdot \beta + i \cdot \left(\beta + \left(i + \alpha\right)\right)\right)}}{1 \cdot \left({\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2 - 1.0\right)}\]
    19.4
  6. Applied times-frac to get
    \[\color{red}{\frac{\frac{i \cdot \left(\beta + \left(i + \alpha\right)\right)}{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2} \cdot \left(\alpha \cdot \beta + i \cdot \left(\beta + \left(i + \alpha\right)\right)\right)}{1 \cdot \left({\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2 - 1.0\right)}} \leadsto \color{blue}{\frac{\frac{i \cdot \left(\beta + \left(i + \alpha\right)\right)}{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2}}{1} \cdot \frac{\alpha \cdot \beta + i \cdot \left(\beta + \left(i + \alpha\right)\right)}{{\left(\left(\beta + \alpha\right) + 2 \cdot i\right)}^2 - 1.0}}\]
    19.4

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