Average Error: 52.1 → 32.9
Time: 2.5m
Precision: 64
Internal Precision: 320
\[\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}\;\alpha \le 1.1060729764457791 \cdot 10^{+123}:\\ \;\;\;\;\frac{(\left(\beta + \left(i + \alpha\right)\right) \cdot i + \left(\beta \cdot \alpha\right))_*}{(\left((2 \cdot i + \left(\beta + \alpha\right))_*\right) \cdot \left((2 \cdot i + \left(\beta + \alpha\right))_*\right) + \left(-1.0\right))_*} \cdot \left(\frac{\beta + \left(i + \alpha\right)}{(2 \cdot i + \left(\beta + \alpha\right))_*} \cdot \frac{i}{(2 \cdot i + \left(\beta + \alpha\right))_*}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{\beta + \left(i + \alpha\right)}{(2 \cdot i + \left(\beta + \alpha\right))_*} \cdot \frac{i}{(2 \cdot i + \left(\beta + \alpha\right))_*}\right) \cdot (\left(\frac{\frac{i}{\alpha}}{{\alpha}^{2}}\right) \cdot 1.0 + \left(\frac{i}{\alpha}\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 alpha < 1.1060729764457791e+123

    1. Initial program 49.6

      \[\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. Initial simplification34.8

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

    if 1.1060729764457791e+123 < alpha

    1. Initial program 61.8

      \[\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. Initial simplification52.1

      \[\leadsto \left(\frac{i}{(2 \cdot i + \left(\alpha + \beta\right))_*} \cdot \frac{\left(\alpha + i\right) + \beta}{(2 \cdot i + \left(\alpha + \beta\right))_*}\right) \cdot \frac{(\left(\left(\alpha + i\right) + \beta\right) \cdot i + \left(\beta \cdot \alpha\right))_*}{(\left((2 \cdot i + \left(\alpha + \beta\right))_*\right) \cdot \left((2 \cdot i + \left(\alpha + \beta\right))_*\right) + \left(-1.0\right))_*}\]
    3. Using strategy rm
    4. Applied add-exp-log52.3

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

      \[\leadsto \left(\frac{i}{(2 \cdot i + \left(\alpha + \beta\right))_*} \cdot \frac{\left(\alpha + i\right) + \beta}{(2 \cdot i + \left(\alpha + \beta\right))_*}\right) \cdot \color{blue}{\left(e^{\log \left(\frac{1}{\alpha}\right) - \log \left(\frac{1}{i}\right)} + 1.0 \cdot \frac{e^{\log \left(\frac{1}{\alpha}\right) - \log \left(\frac{1}{i}\right)}}{{\alpha}^{2}}\right)}\]
    6. Simplified25.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1.1060729764457791 \cdot 10^{+123}:\\ \;\;\;\;\frac{(\left(\beta + \left(i + \alpha\right)\right) \cdot i + \left(\beta \cdot \alpha\right))_*}{(\left((2 \cdot i + \left(\beta + \alpha\right))_*\right) \cdot \left((2 \cdot i + \left(\beta + \alpha\right))_*\right) + \left(-1.0\right))_*} \cdot \left(\frac{\beta + \left(i + \alpha\right)}{(2 \cdot i + \left(\beta + \alpha\right))_*} \cdot \frac{i}{(2 \cdot i + \left(\beta + \alpha\right))_*}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{\beta + \left(i + \alpha\right)}{(2 \cdot i + \left(\beta + \alpha\right))_*} \cdot \frac{i}{(2 \cdot i + \left(\beta + \alpha\right))_*}\right) \cdot (\left(\frac{\frac{i}{\alpha}}{{\alpha}^{2}}\right) \cdot 1.0 + \left(\frac{i}{\alpha}\right))_*\\ \end{array}\]

Runtime

Time bar (total: 2.5m)Debug logProfile

herbie shell --seed 2018221 +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)))