Average Error: 52.5 → 36.3
Time: 44.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}\]
\[\frac{1}{\frac{\mathsf{fma}\left(2, i, \alpha + \beta\right)}{\frac{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \alpha \cdot \beta\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + \sqrt{1.0}}}} \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)}\]
\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{1}{\frac{\mathsf{fma}\left(2, i, \alpha + \beta\right)}{\frac{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \alpha \cdot \beta\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + \sqrt{1.0}}}} \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)}
double f(double alpha, double beta, double i) {
        double r1681828 = i;
        double r1681829 = alpha;
        double r1681830 = beta;
        double r1681831 = r1681829 + r1681830;
        double r1681832 = r1681831 + r1681828;
        double r1681833 = r1681828 * r1681832;
        double r1681834 = r1681830 * r1681829;
        double r1681835 = r1681834 + r1681833;
        double r1681836 = r1681833 * r1681835;
        double r1681837 = 2.0;
        double r1681838 = r1681837 * r1681828;
        double r1681839 = r1681831 + r1681838;
        double r1681840 = r1681839 * r1681839;
        double r1681841 = r1681836 / r1681840;
        double r1681842 = 1.0;
        double r1681843 = r1681840 - r1681842;
        double r1681844 = r1681841 / r1681843;
        return r1681844;
}

double f(double alpha, double beta, double i) {
        double r1681845 = 1.0;
        double r1681846 = 2.0;
        double r1681847 = i;
        double r1681848 = alpha;
        double r1681849 = beta;
        double r1681850 = r1681848 + r1681849;
        double r1681851 = fma(r1681846, r1681847, r1681850);
        double r1681852 = r1681850 + r1681847;
        double r1681853 = r1681848 * r1681849;
        double r1681854 = fma(r1681852, r1681847, r1681853);
        double r1681855 = 1.0;
        double r1681856 = sqrt(r1681855);
        double r1681857 = r1681851 + r1681856;
        double r1681858 = r1681854 / r1681857;
        double r1681859 = r1681851 / r1681858;
        double r1681860 = r1681845 / r1681859;
        double r1681861 = r1681852 * r1681847;
        double r1681862 = r1681851 - r1681856;
        double r1681863 = r1681861 / r1681862;
        double r1681864 = r1681863 / r1681851;
        double r1681865 = r1681860 * r1681864;
        return r1681865;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Initial program 52.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. Simplified52.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-sqrt52.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-squares52.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-frac38.2

    \[\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-frac36.3

    \[\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 *-un-lft-identity36.3

    \[\leadsto \frac{\color{blue}{1 \cdot \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)}\]
  10. Applied associate-/l*36.3

    \[\leadsto \color{blue}{\frac{1}{\frac{\mathsf{fma}\left(2, i, \alpha + \beta\right)}{\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{\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)}\]
  11. Final simplification36.3

    \[\leadsto \frac{1}{\frac{\mathsf{fma}\left(2, i, \alpha + \beta\right)}{\frac{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \alpha \cdot \beta\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + \sqrt{1.0}}}} \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)}\]

Reproduce

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