Average Error: 52.9 → 35.6
Time: 29.7s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1 \land i \gt 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}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 4.18445548900063 \cdot 10^{+197}:\\ \;\;\;\;\frac{\frac{\sqrt{\mathsf{fma}\left(i + \left(\beta + \alpha\right), i, \beta \cdot \alpha\right)}}{\frac{\sqrt{1.0} + \mathsf{fma}\left(2, i, \beta + \alpha\right)}{\sqrt{\mathsf{fma}\left(i + \left(\beta + \alpha\right), i, \beta \cdot \alpha\right)}}}}{\mathsf{fma}\left(2, i, \beta + \alpha\right)} \cdot \frac{1}{\frac{\mathsf{fma}\left(2, i, \beta + \alpha\right)}{\frac{i + \left(\beta + \alpha\right)}{\frac{\mathsf{fma}\left(2, i, \beta + \alpha\right) - \sqrt{1.0}}{i}}}}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]
\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 4.18445548900063 \cdot 10^{+197}:\\
\;\;\;\;\frac{\frac{\sqrt{\mathsf{fma}\left(i + \left(\beta + \alpha\right), i, \beta \cdot \alpha\right)}}{\frac{\sqrt{1.0} + \mathsf{fma}\left(2, i, \beta + \alpha\right)}{\sqrt{\mathsf{fma}\left(i + \left(\beta + \alpha\right), i, \beta \cdot \alpha\right)}}}}{\mathsf{fma}\left(2, i, \beta + \alpha\right)} \cdot \frac{1}{\frac{\mathsf{fma}\left(2, i, \beta + \alpha\right)}{\frac{i + \left(\beta + \alpha\right)}{\frac{\mathsf{fma}\left(2, i, \beta + \alpha\right) - \sqrt{1.0}}{i}}}}\\

\mathbf{else}:\\
\;\;\;\;0\\

\end{array}
double f(double alpha, double beta, double i) {
        double r1804779 = i;
        double r1804780 = alpha;
        double r1804781 = beta;
        double r1804782 = r1804780 + r1804781;
        double r1804783 = r1804782 + r1804779;
        double r1804784 = r1804779 * r1804783;
        double r1804785 = r1804781 * r1804780;
        double r1804786 = r1804785 + r1804784;
        double r1804787 = r1804784 * r1804786;
        double r1804788 = 2.0;
        double r1804789 = r1804788 * r1804779;
        double r1804790 = r1804782 + r1804789;
        double r1804791 = r1804790 * r1804790;
        double r1804792 = r1804787 / r1804791;
        double r1804793 = 1.0;
        double r1804794 = r1804791 - r1804793;
        double r1804795 = r1804792 / r1804794;
        return r1804795;
}

double f(double alpha, double beta, double i) {
        double r1804796 = alpha;
        double r1804797 = 4.18445548900063e+197;
        bool r1804798 = r1804796 <= r1804797;
        double r1804799 = i;
        double r1804800 = beta;
        double r1804801 = r1804800 + r1804796;
        double r1804802 = r1804799 + r1804801;
        double r1804803 = r1804800 * r1804796;
        double r1804804 = fma(r1804802, r1804799, r1804803);
        double r1804805 = sqrt(r1804804);
        double r1804806 = 1.0;
        double r1804807 = sqrt(r1804806);
        double r1804808 = 2.0;
        double r1804809 = fma(r1804808, r1804799, r1804801);
        double r1804810 = r1804807 + r1804809;
        double r1804811 = r1804810 / r1804805;
        double r1804812 = r1804805 / r1804811;
        double r1804813 = r1804812 / r1804809;
        double r1804814 = 1.0;
        double r1804815 = r1804809 - r1804807;
        double r1804816 = r1804815 / r1804799;
        double r1804817 = r1804802 / r1804816;
        double r1804818 = r1804809 / r1804817;
        double r1804819 = r1804814 / r1804818;
        double r1804820 = r1804813 * r1804819;
        double r1804821 = 0.0;
        double r1804822 = r1804798 ? r1804820 : r1804821;
        return r1804822;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 4.18445548900063e+197

    1. Initial program 51.5

      \[\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. Simplified51.5

      \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \beta \cdot \alpha\right) \cdot \left(\left(\left(\alpha + \beta\right) + i\right) \cdot i\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right) \cdot \mathsf{fma}\left(2, i, \alpha + \beta\right) - 1.0}}{\mathsf{fma}\left(2, i, \alpha + \beta\right) \cdot \mathsf{fma}\left(2, i, \alpha + \beta\right)}}\]
    3. Using strategy rm
    4. Applied add-sqr-sqrt51.5

      \[\leadsto \frac{\frac{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \beta \cdot \alpha\right) \cdot \left(\left(\left(\alpha + \beta\right) + i\right) \cdot i\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right) \cdot \mathsf{fma}\left(2, i, \alpha + \beta\right) - \color{blue}{\sqrt{1.0} \cdot \sqrt{1.0}}}}{\mathsf{fma}\left(2, i, \alpha + \beta\right) \cdot \mathsf{fma}\left(2, i, \alpha + \beta\right)}\]
    5. Applied difference-of-squares51.5

      \[\leadsto \frac{\frac{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \beta \cdot \alpha\right) \cdot \left(\left(\left(\alpha + \beta\right) + i\right) \cdot i\right)}{\color{blue}{\left(\mathsf{fma}\left(2, i, \alpha + \beta\right) + \sqrt{1.0}\right) \cdot \left(\mathsf{fma}\left(2, i, \alpha + \beta\right) - \sqrt{1.0}\right)}}}{\mathsf{fma}\left(2, i, \alpha + \beta\right) \cdot \mathsf{fma}\left(2, i, \alpha + \beta\right)}\]
    6. Applied times-frac37.0

      \[\leadsto \frac{\color{blue}{\frac{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \beta \cdot \alpha\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + \sqrt{1.0}} \cdot \frac{\left(\left(\alpha + \beta\right) + i\right) \cdot i}{\mathsf{fma}\left(2, i, \alpha + \beta\right) - \sqrt{1.0}}}}{\mathsf{fma}\left(2, i, \alpha + \beta\right) \cdot \mathsf{fma}\left(2, i, \alpha + \beta\right)}\]
    7. Applied times-frac34.6

      \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \beta \cdot \alpha\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + \sqrt{1.0}}}{\mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \frac{\frac{\left(\left(\alpha + \beta\right) + i\right) \cdot i}{\mathsf{fma}\left(2, i, \alpha + \beta\right) - \sqrt{1.0}}}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}\]
    8. Using strategy rm
    9. Applied clear-num34.6

      \[\leadsto \frac{\frac{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \beta \cdot \alpha\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + \sqrt{1.0}}}{\mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \color{blue}{\frac{1}{\frac{\mathsf{fma}\left(2, i, \alpha + \beta\right)}{\frac{\left(\left(\alpha + \beta\right) + i\right) \cdot i}{\mathsf{fma}\left(2, i, \alpha + \beta\right) - \sqrt{1.0}}}}}\]
    10. Using strategy rm
    11. Applied add-sqr-sqrt34.7

      \[\leadsto \frac{\frac{\color{blue}{\sqrt{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \beta \cdot \alpha\right)} \cdot \sqrt{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \beta \cdot \alpha\right)}}}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + \sqrt{1.0}}}{\mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \frac{1}{\frac{\mathsf{fma}\left(2, i, \alpha + \beta\right)}{\frac{\left(\left(\alpha + \beta\right) + i\right) \cdot i}{\mathsf{fma}\left(2, i, \alpha + \beta\right) - \sqrt{1.0}}}}\]
    12. Applied associate-/l*34.6

      \[\leadsto \frac{\color{blue}{\frac{\sqrt{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \beta \cdot \alpha\right)}}{\frac{\mathsf{fma}\left(2, i, \alpha + \beta\right) + \sqrt{1.0}}{\sqrt{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \beta \cdot \alpha\right)}}}}}{\mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \frac{1}{\frac{\mathsf{fma}\left(2, i, \alpha + \beta\right)}{\frac{\left(\left(\alpha + \beta\right) + i\right) \cdot i}{\mathsf{fma}\left(2, i, \alpha + \beta\right) - \sqrt{1.0}}}}\]
    13. Using strategy rm
    14. Applied associate-/l*34.6

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

    if 4.18445548900063e+197 < alpha

    1. Initial program 62.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. Simplified62.6

      \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \beta \cdot \alpha\right) \cdot \left(\left(\left(\alpha + \beta\right) + i\right) \cdot i\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right) \cdot \mathsf{fma}\left(2, i, \alpha + \beta\right) - 1.0}}{\mathsf{fma}\left(2, i, \alpha + \beta\right) \cdot \mathsf{fma}\left(2, i, \alpha + \beta\right)}}\]
    3. Taylor expanded around inf 42.5

      \[\leadsto \color{blue}{0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification35.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 4.18445548900063 \cdot 10^{+197}:\\ \;\;\;\;\frac{\frac{\sqrt{\mathsf{fma}\left(i + \left(\beta + \alpha\right), i, \beta \cdot \alpha\right)}}{\frac{\sqrt{1.0} + \mathsf{fma}\left(2, i, \beta + \alpha\right)}{\sqrt{\mathsf{fma}\left(i + \left(\beta + \alpha\right), i, \beta \cdot \alpha\right)}}}}{\mathsf{fma}\left(2, i, \beta + \alpha\right)} \cdot \frac{1}{\frac{\mathsf{fma}\left(2, i, \beta + \alpha\right)}{\frac{i + \left(\beta + \alpha\right)}{\frac{\mathsf{fma}\left(2, i, \beta + \alpha\right) - \sqrt{1.0}}{i}}}}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]

Reproduce

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