Average Error: 52.4 → 11.3
Time: 5.4m
Precision: 64
Internal Precision: 576
\[\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}\]
\[\begin{array}{l} \mathbf{if}\;\left(\frac{i}{(i \cdot 2 + \beta)_* + \alpha} \cdot \frac{\left(\alpha + i\right) + \beta}{(i \cdot 2 + \beta)_* + \alpha}\right) \cdot \frac{(\left(\left(\alpha + i\right) + \beta\right) \cdot i + \left(\beta \cdot \alpha\right))_*}{(\alpha \cdot \left((2 \cdot \beta + \alpha)_*\right) + \left((\left({2}^{2}\right) \cdot \left({i}^{2}\right) + \left(-1.0\right))_*\right))_*} \le 0.25391387939453125:\\ \;\;\;\;\frac{1}{\left(\frac{\sqrt{(\left(\beta + (2 \cdot i + \alpha)_*\right) \cdot \left(\beta + (2 \cdot i + \alpha)_*\right) + \left(-1.0\right))_*}}{\sqrt{(\left(\left(\beta + i\right) + \alpha\right) \cdot i + \left(\alpha \cdot \beta\right))_*}} \cdot \frac{\sqrt{(\left(\beta + (2 \cdot i + \alpha)_*\right) \cdot \left(\beta + (2 \cdot i + \alpha)_*\right) + \left(-1.0\right))_*}}{\sqrt{(\left(\left(\beta + i\right) + \alpha\right) \cdot i + \left(\alpha \cdot \beta\right))_*}}\right) \cdot \left(\frac{\beta + (2 \cdot i + \alpha)_*}{i} \cdot \frac{\beta + (2 \cdot i + \alpha)_*}{\left(\beta + i\right) + \alpha}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{\left(\frac{\beta}{i} + \frac{\alpha}{i}\right) + 2}}{\frac{(i \cdot 2 + \left(\alpha + \beta\right))_*}{\left(\beta + i\right) + \alpha} \cdot \left(4 - \frac{\alpha}{i} \cdot \left(\frac{\beta}{i} + 2\right)\right)}\\ \end{array}\]

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if (* (* (/ i (+ (fma i 2 beta) alpha)) (/ (+ (+ alpha i) beta) (+ (fma i 2 beta) alpha))) (/ (fma (+ (+ alpha i) beta) i (* beta alpha)) (fma alpha (fma 2 beta alpha) (fma (pow 2 2) (pow i 2) (- 1.0))))) < 0.25391387939453125

    1. Initial program 38.9

      \[\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}\]
    2. Using strategy rm
    3. Applied clear-num38.9

      \[\leadsto \color{blue}{\frac{1}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}{\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)}}}}\]
    4. Applied simplify5.4

      \[\leadsto \frac{1}{\color{blue}{\frac{(\left(\beta + (2 \cdot i + \alpha)_*\right) \cdot \left(\beta + (2 \cdot i + \alpha)_*\right) + \left(-1.0\right))_*}{(\left(\left(\beta + i\right) + \alpha\right) \cdot i + \left(\alpha \cdot \beta\right))_*} \cdot \left(\frac{\beta + (2 \cdot i + \alpha)_*}{i} \cdot \frac{\beta + (2 \cdot i + \alpha)_*}{\left(\beta + i\right) + \alpha}\right)}}\]
    5. Using strategy rm
    6. Applied add-sqr-sqrt5.4

      \[\leadsto \frac{1}{\frac{(\left(\beta + (2 \cdot i + \alpha)_*\right) \cdot \left(\beta + (2 \cdot i + \alpha)_*\right) + \left(-1.0\right))_*}{\color{blue}{\sqrt{(\left(\left(\beta + i\right) + \alpha\right) \cdot i + \left(\alpha \cdot \beta\right))_*} \cdot \sqrt{(\left(\left(\beta + i\right) + \alpha\right) \cdot i + \left(\alpha \cdot \beta\right))_*}}} \cdot \left(\frac{\beta + (2 \cdot i + \alpha)_*}{i} \cdot \frac{\beta + (2 \cdot i + \alpha)_*}{\left(\beta + i\right) + \alpha}\right)}\]
    7. Applied add-sqr-sqrt5.4

      \[\leadsto \frac{1}{\frac{\color{blue}{\sqrt{(\left(\beta + (2 \cdot i + \alpha)_*\right) \cdot \left(\beta + (2 \cdot i + \alpha)_*\right) + \left(-1.0\right))_*} \cdot \sqrt{(\left(\beta + (2 \cdot i + \alpha)_*\right) \cdot \left(\beta + (2 \cdot i + \alpha)_*\right) + \left(-1.0\right))_*}}}{\sqrt{(\left(\left(\beta + i\right) + \alpha\right) \cdot i + \left(\alpha \cdot \beta\right))_*} \cdot \sqrt{(\left(\left(\beta + i\right) + \alpha\right) \cdot i + \left(\alpha \cdot \beta\right))_*}} \cdot \left(\frac{\beta + (2 \cdot i + \alpha)_*}{i} \cdot \frac{\beta + (2 \cdot i + \alpha)_*}{\left(\beta + i\right) + \alpha}\right)}\]
    8. Applied times-frac5.4

      \[\leadsto \frac{1}{\color{blue}{\left(\frac{\sqrt{(\left(\beta + (2 \cdot i + \alpha)_*\right) \cdot \left(\beta + (2 \cdot i + \alpha)_*\right) + \left(-1.0\right))_*}}{\sqrt{(\left(\left(\beta + i\right) + \alpha\right) \cdot i + \left(\alpha \cdot \beta\right))_*}} \cdot \frac{\sqrt{(\left(\beta + (2 \cdot i + \alpha)_*\right) \cdot \left(\beta + (2 \cdot i + \alpha)_*\right) + \left(-1.0\right))_*}}{\sqrt{(\left(\left(\beta + i\right) + \alpha\right) \cdot i + \left(\alpha \cdot \beta\right))_*}}\right)} \cdot \left(\frac{\beta + (2 \cdot i + \alpha)_*}{i} \cdot \frac{\beta + (2 \cdot i + \alpha)_*}{\left(\beta + i\right) + \alpha}\right)}\]

    if 0.25391387939453125 < (* (* (/ i (+ (fma i 2 beta) alpha)) (/ (+ (+ alpha i) beta) (+ (fma i 2 beta) alpha))) (/ (fma (+ (+ alpha i) beta) i (* beta alpha)) (fma alpha (fma 2 beta alpha) (fma (pow 2 2) (pow i 2) (- 1.0)))))

    1. Initial program 62.1

      \[\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}\]
    2. Using strategy rm
    3. Applied clear-num62.1

      \[\leadsto \color{blue}{\frac{1}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}{\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)}}}}\]
    4. Applied simplify62.1

      \[\leadsto \frac{1}{\color{blue}{\frac{(\left(\beta + (2 \cdot i + \alpha)_*\right) \cdot \left(\beta + (2 \cdot i + \alpha)_*\right) + \left(-1.0\right))_*}{(\left(\left(\beta + i\right) + \alpha\right) \cdot i + \left(\alpha \cdot \beta\right))_*} \cdot \left(\frac{\beta + (2 \cdot i + \alpha)_*}{i} \cdot \frac{\beta + (2 \cdot i + \alpha)_*}{\left(\beta + i\right) + \alpha}\right)}}\]
    5. Taylor expanded around inf 16.3

      \[\leadsto \frac{1}{\color{blue}{\left(4 - \left(2 \cdot \frac{\alpha}{i} + \frac{\beta \cdot \alpha}{{i}^{2}}\right)\right)} \cdot \left(\frac{\beta + (2 \cdot i + \alpha)_*}{i} \cdot \frac{\beta + (2 \cdot i + \alpha)_*}{\left(\beta + i\right) + \alpha}\right)}\]
    6. Taylor expanded around 0 16.3

      \[\leadsto \frac{1}{\left(4 - \left(2 \cdot \frac{\alpha}{i} + \frac{\beta \cdot \alpha}{{i}^{2}}\right)\right) \cdot \left(\color{blue}{\left(\frac{\beta}{i} + \left(\frac{\alpha}{i} + 2\right)\right)} \cdot \frac{\beta + (2 \cdot i + \alpha)_*}{\left(\beta + i\right) + \alpha}\right)}\]
    7. Applied simplify15.5

      \[\leadsto \color{blue}{\frac{\frac{1}{\left(\frac{\beta}{i} + \frac{\alpha}{i}\right) + 2}}{\frac{(i \cdot 2 + \left(\alpha + \beta\right))_*}{\left(\beta + i\right) + \alpha} \cdot \left(4 - \frac{\alpha}{i} \cdot \left(\frac{\beta}{i} + 2\right)\right)}}\]
  3. Recombined 2 regimes into one program.

Runtime

Time bar (total: 5.4m)Debug logProfile

herbie shell --seed 2019053 +o rules:numerics
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/4"
  :pre (and (> alpha -1) (> beta -1) (> i 1))
  (/ (/ (* (* 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)))