Average Error: 28.9 → 0.2
Time: 8.4s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -10556.3209925428073:\\ \;\;\;\;\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \mathsf{fma}\left(0.25, \frac{1}{{x}^{2}}, 0.625 \cdot \frac{1}{{x}^{3}} - 1.5 \cdot \frac{1}{x}\right)\\ \mathbf{elif}\;x \le 11170.255305991283:\\ \;\;\;\;\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \frac{\frac{x}{x + 1} - \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{{x}^{2}} - \mathsf{fma}\left(3, \frac{1}{x}, 3 \cdot \frac{1}{{x}^{3}}\right)\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -10556.3209925428073:\\
\;\;\;\;\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \mathsf{fma}\left(0.25, \frac{1}{{x}^{2}}, 0.625 \cdot \frac{1}{{x}^{3}} - 1.5 \cdot \frac{1}{x}\right)\\

\mathbf{elif}\;x \le 11170.255305991283:\\
\;\;\;\;\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \frac{\frac{x}{x + 1} - \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\\

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

\end{array}
double f(double x) {
        double r118780 = x;
        double r118781 = 1.0;
        double r118782 = r118780 + r118781;
        double r118783 = r118780 / r118782;
        double r118784 = r118780 - r118781;
        double r118785 = r118782 / r118784;
        double r118786 = r118783 - r118785;
        return r118786;
}

double f(double x) {
        double r118787 = x;
        double r118788 = -10556.320992542807;
        bool r118789 = r118787 <= r118788;
        double r118790 = 1.0;
        double r118791 = r118787 + r118790;
        double r118792 = r118787 / r118791;
        double r118793 = r118787 - r118790;
        double r118794 = r118791 / r118793;
        double r118795 = r118792 + r118794;
        double r118796 = 0.25;
        double r118797 = 1.0;
        double r118798 = 2.0;
        double r118799 = pow(r118787, r118798);
        double r118800 = r118797 / r118799;
        double r118801 = 0.625;
        double r118802 = 3.0;
        double r118803 = pow(r118787, r118802);
        double r118804 = r118797 / r118803;
        double r118805 = r118801 * r118804;
        double r118806 = 1.5;
        double r118807 = r118797 / r118787;
        double r118808 = r118806 * r118807;
        double r118809 = r118805 - r118808;
        double r118810 = fma(r118796, r118800, r118809);
        double r118811 = r118795 * r118810;
        double r118812 = 11170.255305991283;
        bool r118813 = r118787 <= r118812;
        double r118814 = r118792 - r118794;
        double r118815 = r118814 / r118795;
        double r118816 = r118795 * r118815;
        double r118817 = -r118790;
        double r118818 = r118817 / r118799;
        double r118819 = 3.0;
        double r118820 = r118819 * r118804;
        double r118821 = fma(r118819, r118807, r118820);
        double r118822 = r118818 - r118821;
        double r118823 = r118813 ? r118816 : r118822;
        double r118824 = r118789 ? r118811 : r118823;
        return r118824;
}

Error

Bits error versus x

Derivation

  1. Split input into 3 regimes
  2. if x < -10556.320992542807

    1. Initial program 59.1

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

      \[\leadsto \color{blue}{\frac{\frac{x}{x + 1} \cdot \frac{x}{x + 1} - \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity59.1

      \[\leadsto \frac{\frac{x}{x + 1} \cdot \frac{x}{x + 1} - \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}}{\color{blue}{1 \cdot \left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right)}}\]
    6. Applied difference-of-squares59.1

      \[\leadsto \frac{\color{blue}{\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right)}}{1 \cdot \left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right)}\]
    7. Applied times-frac59.1

      \[\leadsto \color{blue}{\frac{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}{1} \cdot \frac{\frac{x}{x + 1} - \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}}\]
    8. Simplified59.1

      \[\leadsto \color{blue}{\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right)} \cdot \frac{\frac{x}{x + 1} - \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\]
    9. Taylor expanded around inf 0.3

      \[\leadsto \left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \color{blue}{\left(\left(0.25 \cdot \frac{1}{{x}^{2}} + 0.625 \cdot \frac{1}{{x}^{3}}\right) - 1.5 \cdot \frac{1}{x}\right)}\]
    10. Simplified0.3

      \[\leadsto \left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \color{blue}{\mathsf{fma}\left(0.25, \frac{1}{{x}^{2}}, 0.625 \cdot \frac{1}{{x}^{3}} - 1.5 \cdot \frac{1}{x}\right)}\]

    if -10556.320992542807 < x < 11170.255305991283

    1. Initial program 0.1

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

      \[\leadsto \color{blue}{\frac{\frac{x}{x + 1} \cdot \frac{x}{x + 1} - \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity0.1

      \[\leadsto \frac{\frac{x}{x + 1} \cdot \frac{x}{x + 1} - \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}}{\color{blue}{1 \cdot \left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right)}}\]
    6. Applied difference-of-squares0.1

      \[\leadsto \frac{\color{blue}{\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right)}}{1 \cdot \left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right)}\]
    7. Applied times-frac0.1

      \[\leadsto \color{blue}{\frac{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}{1} \cdot \frac{\frac{x}{x + 1} - \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}}\]
    8. Simplified0.1

      \[\leadsto \color{blue}{\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right)} \cdot \frac{\frac{x}{x + 1} - \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\]

    if 11170.255305991283 < x

    1. Initial program 59.2

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -10556.3209925428073:\\ \;\;\;\;\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \mathsf{fma}\left(0.25, \frac{1}{{x}^{2}}, 0.625 \cdot \frac{1}{{x}^{3}} - 1.5 \cdot \frac{1}{x}\right)\\ \mathbf{elif}\;x \le 11170.255305991283:\\ \;\;\;\;\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \frac{\frac{x}{x + 1} - \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\\ \mathbf{else}:\\ \;\;\;\;\frac{-1}{{x}^{2}} - \mathsf{fma}\left(3, \frac{1}{x}, 3 \cdot \frac{1}{{x}^{3}}\right)\\ \end{array}\]

Reproduce

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