Average Error: 14.4 → 0.1
Time: 14.9s
Precision: 64
\[\frac{1}{x + 1} - \frac{1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -197.6959578773428347631124779582023620605 \lor \neg \left(x \le 221.5934540176410223466518800705671310425\right):\\ \;\;\;\;\left(-\frac{2}{{x}^{6}}\right) - \left(\frac{\frac{2}{x}}{x} + \frac{2}{{x}^{4}}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-\frac{1}{{x}^{3} - {1}^{3}}, \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right), \frac{1}{x + 1}\right) + \frac{1}{{x}^{3} - {1}^{3}} \cdot \left(\left(-\mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right) + \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right)\\ \end{array}\]
\frac{1}{x + 1} - \frac{1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -197.6959578773428347631124779582023620605 \lor \neg \left(x \le 221.5934540176410223466518800705671310425\right):\\
\;\;\;\;\left(-\frac{2}{{x}^{6}}\right) - \left(\frac{\frac{2}{x}}{x} + \frac{2}{{x}^{4}}\right)\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(-\frac{1}{{x}^{3} - {1}^{3}}, \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right), \frac{1}{x + 1}\right) + \frac{1}{{x}^{3} - {1}^{3}} \cdot \left(\left(-\mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right) + \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right)\\

\end{array}
double f(double x) {
        double r116779 = 1.0;
        double r116780 = x;
        double r116781 = r116780 + r116779;
        double r116782 = r116779 / r116781;
        double r116783 = r116780 - r116779;
        double r116784 = r116779 / r116783;
        double r116785 = r116782 - r116784;
        return r116785;
}

double f(double x) {
        double r116786 = x;
        double r116787 = -197.69595787734283;
        bool r116788 = r116786 <= r116787;
        double r116789 = 221.59345401764102;
        bool r116790 = r116786 <= r116789;
        double r116791 = !r116790;
        bool r116792 = r116788 || r116791;
        double r116793 = 2.0;
        double r116794 = 6.0;
        double r116795 = pow(r116786, r116794);
        double r116796 = r116793 / r116795;
        double r116797 = -r116796;
        double r116798 = r116793 / r116786;
        double r116799 = r116798 / r116786;
        double r116800 = 4.0;
        double r116801 = pow(r116786, r116800);
        double r116802 = r116793 / r116801;
        double r116803 = r116799 + r116802;
        double r116804 = r116797 - r116803;
        double r116805 = 1.0;
        double r116806 = 3.0;
        double r116807 = pow(r116786, r116806);
        double r116808 = pow(r116805, r116806);
        double r116809 = r116807 - r116808;
        double r116810 = r116805 / r116809;
        double r116811 = -r116810;
        double r116812 = r116786 + r116805;
        double r116813 = r116812 * r116805;
        double r116814 = fma(r116786, r116786, r116813);
        double r116815 = r116805 / r116812;
        double r116816 = fma(r116811, r116814, r116815);
        double r116817 = -r116814;
        double r116818 = r116817 + r116814;
        double r116819 = r116810 * r116818;
        double r116820 = r116816 + r116819;
        double r116821 = r116792 ? r116804 : r116820;
        return r116821;
}

Error

Bits error versus x

Derivation

  1. Split input into 2 regimes
  2. if x < -197.69595787734283 or 221.59345401764102 < x

    1. Initial program 29.1

      \[\frac{1}{x + 1} - \frac{1}{x - 1}\]
    2. Taylor expanded around inf 0.8

      \[\leadsto \color{blue}{-\left(2 \cdot \frac{1}{{x}^{6}} + \left(2 \cdot \frac{1}{{x}^{2}} + 2 \cdot \frac{1}{{x}^{4}}\right)\right)}\]
    3. Simplified0.8

      \[\leadsto \color{blue}{\left(-\frac{2}{{x}^{6}}\right) - \left(\frac{2}{x \cdot x} + \frac{2}{{x}^{4}}\right)}\]
    4. Using strategy rm
    5. Applied associate-/r*0.1

      \[\leadsto \left(-\frac{2}{{x}^{6}}\right) - \left(\color{blue}{\frac{\frac{2}{x}}{x}} + \frac{2}{{x}^{4}}\right)\]

    if -197.69595787734283 < x < 221.59345401764102

    1. Initial program 0.0

      \[\frac{1}{x + 1} - \frac{1}{x - 1}\]
    2. Using strategy rm
    3. Applied flip3--0.0

      \[\leadsto \frac{1}{x + 1} - \frac{1}{\color{blue}{\frac{{x}^{3} - {1}^{3}}{x \cdot x + \left(1 \cdot 1 + x \cdot 1\right)}}}\]
    4. Applied associate-/r/0.0

      \[\leadsto \frac{1}{x + 1} - \color{blue}{\frac{1}{{x}^{3} - {1}^{3}} \cdot \left(x \cdot x + \left(1 \cdot 1 + x \cdot 1\right)\right)}\]
    5. Applied add-sqr-sqrt0.2

      \[\leadsto \color{blue}{\sqrt{\frac{1}{x + 1}} \cdot \sqrt{\frac{1}{x + 1}}} - \frac{1}{{x}^{3} - {1}^{3}} \cdot \left(x \cdot x + \left(1 \cdot 1 + x \cdot 1\right)\right)\]
    6. Applied prod-diff0.2

      \[\leadsto \color{blue}{\mathsf{fma}\left(\sqrt{\frac{1}{x + 1}}, \sqrt{\frac{1}{x + 1}}, -\left(x \cdot x + \left(1 \cdot 1 + x \cdot 1\right)\right) \cdot \frac{1}{{x}^{3} - {1}^{3}}\right) + \mathsf{fma}\left(-\left(x \cdot x + \left(1 \cdot 1 + x \cdot 1\right)\right), \frac{1}{{x}^{3} - {1}^{3}}, \left(x \cdot x + \left(1 \cdot 1 + x \cdot 1\right)\right) \cdot \frac{1}{{x}^{3} - {1}^{3}}\right)}\]
    7. Simplified0.0

      \[\leadsto \color{blue}{\mathsf{fma}\left(-\frac{1}{{x}^{3} - {1}^{3}}, \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right), \frac{1}{x + 1}\right)} + \mathsf{fma}\left(-\left(x \cdot x + \left(1 \cdot 1 + x \cdot 1\right)\right), \frac{1}{{x}^{3} - {1}^{3}}, \left(x \cdot x + \left(1 \cdot 1 + x \cdot 1\right)\right) \cdot \frac{1}{{x}^{3} - {1}^{3}}\right)\]
    8. Simplified0.0

      \[\leadsto \mathsf{fma}\left(-\frac{1}{{x}^{3} - {1}^{3}}, \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right), \frac{1}{x + 1}\right) + \color{blue}{\frac{1}{{x}^{3} - {1}^{3}} \cdot \left(\left(-\mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right) + \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -197.6959578773428347631124779582023620605 \lor \neg \left(x \le 221.5934540176410223466518800705671310425\right):\\ \;\;\;\;\left(-\frac{2}{{x}^{6}}\right) - \left(\frac{\frac{2}{x}}{x} + \frac{2}{{x}^{4}}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-\frac{1}{{x}^{3} - {1}^{3}}, \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right), \frac{1}{x + 1}\right) + \frac{1}{{x}^{3} - {1}^{3}} \cdot \left(\left(-\mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right) + \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019326 +o rules:numerics
(FPCore (x)
  :name "Asymptote A"
  :precision binary64
  (- (/ 1 (+ x 1)) (/ 1 (- x 1))))