Average Error: 52.6 → 36.0
Time: 2.3m
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}\]
\[\frac{i}{(2 \cdot i + \beta)_* + \alpha} \cdot \frac{\left(i + \beta\right) \cdot \frac{\left(i + \alpha\right) + \beta}{(2 \cdot i + \beta)_* + \alpha}}{\frac{(\left((2 \cdot i + \beta)_* + \alpha\right) \cdot \left((2 \cdot i + \beta)_* + \alpha\right) + \left(-1.0\right))_*}{i + \alpha}}\]

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Initial program 52.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. Using strategy rm
  3. Applied associate-/l*38.5

    \[\leadsto \frac{\color{blue}{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity38.5

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

    \[\leadsto \frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\color{blue}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{1} \cdot \frac{\left(\alpha + \beta\right) + 2 \cdot i}{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
  7. Applied times-frac38.5

    \[\leadsto \frac{\color{blue}{\frac{i}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{1}} \cdot \frac{\left(\alpha + \beta\right) + i}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
  8. Simplified38.5

    \[\leadsto \frac{\color{blue}{\frac{i}{(i \cdot 2 + \beta)_* + \alpha}} \cdot \frac{\left(\alpha + \beta\right) + i}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
  9. Simplified38.5

    \[\leadsto \frac{\frac{i}{(i \cdot 2 + \beta)_* + \alpha} \cdot \color{blue}{\left(\left(\alpha \cdot \left(\beta + i\right) + i \cdot \left(\beta + i\right)\right) \cdot \frac{i + \left(\beta + \alpha\right)}{(2 \cdot i + \left(\beta + \alpha\right))_*}\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
  10. Using strategy rm
  11. Applied *-un-lft-identity38.5

    \[\leadsto \frac{\frac{i}{(i \cdot 2 + \beta)_* + \alpha} \cdot \left(\left(\alpha \cdot \left(\beta + i\right) + i \cdot \left(\beta + i\right)\right) \cdot \frac{i + \left(\beta + \alpha\right)}{(2 \cdot i + \left(\beta + \alpha\right))_*}\right)}{\color{blue}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0\right)}}\]
  12. Applied times-frac38.5

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

    \[\leadsto \color{blue}{\frac{i}{(2 \cdot i + \beta)_* + \alpha}} \cdot \frac{\left(\alpha \cdot \left(\beta + i\right) + i \cdot \left(\beta + i\right)\right) \cdot \frac{i + \left(\beta + \alpha\right)}{(2 \cdot i + \left(\beta + \alpha\right))_*}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\]
  14. Simplified36.0

    \[\leadsto \frac{i}{(2 \cdot i + \beta)_* + \alpha} \cdot \color{blue}{\frac{\left(\beta + i\right) \cdot \frac{\left(\alpha + i\right) + \beta}{(2 \cdot i + \beta)_* + \alpha}}{\frac{(\left((2 \cdot i + \beta)_* + \alpha\right) \cdot \left((2 \cdot i + \beta)_* + \alpha\right) + \left(-1.0\right))_*}{\alpha + i}}}\]
  15. Final simplification36.0

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

Runtime

Time bar (total: 2.3m)Debug logProfile

BaselineHerbieOracleSpan%
Regimes36.036.035.90.10%
herbie shell --seed 2018339 +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)))