Average Error: 29.4 → 0.1
Time: 6.2s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -11077.767521343081 \lor \neg \left(x \le 11856.138291033363\right):\\ \;\;\;\;\frac{-1}{{x}^{2}} - \left(\frac{3}{x} + 3 \cdot \frac{1}{{x}^{3}}\right)\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{{\left(\mathsf{fma}\left(\frac{x}{x \cdot x - 1 \cdot 1}, x - 1, -\left(x + 1\right) \cdot \frac{x + 1}{x \cdot x - 1 \cdot 1}\right)\right)}^{3}} + \frac{x + 1}{x \cdot x - 1 \cdot 1} \cdot \left(\left(-\left(x + 1\right)\right) + \left(x + 1\right)\right)\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -11077.767521343081 \lor \neg \left(x \le 11856.138291033363\right):\\
\;\;\;\;\frac{-1}{{x}^{2}} - \left(\frac{3}{x} + 3 \cdot \frac{1}{{x}^{3}}\right)\\

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

\end{array}
double f(double x) {
        double r119019 = x;
        double r119020 = 1.0;
        double r119021 = r119019 + r119020;
        double r119022 = r119019 / r119021;
        double r119023 = r119019 - r119020;
        double r119024 = r119021 / r119023;
        double r119025 = r119022 - r119024;
        return r119025;
}

double f(double x) {
        double r119026 = x;
        double r119027 = -11077.767521343081;
        bool r119028 = r119026 <= r119027;
        double r119029 = 11856.138291033363;
        bool r119030 = r119026 <= r119029;
        double r119031 = !r119030;
        bool r119032 = r119028 || r119031;
        double r119033 = 1.0;
        double r119034 = -r119033;
        double r119035 = 2.0;
        double r119036 = pow(r119026, r119035);
        double r119037 = r119034 / r119036;
        double r119038 = 3.0;
        double r119039 = r119038 / r119026;
        double r119040 = 1.0;
        double r119041 = 3.0;
        double r119042 = pow(r119026, r119041);
        double r119043 = r119040 / r119042;
        double r119044 = r119038 * r119043;
        double r119045 = r119039 + r119044;
        double r119046 = r119037 - r119045;
        double r119047 = r119026 * r119026;
        double r119048 = r119033 * r119033;
        double r119049 = r119047 - r119048;
        double r119050 = r119026 / r119049;
        double r119051 = r119026 - r119033;
        double r119052 = r119026 + r119033;
        double r119053 = r119052 / r119049;
        double r119054 = r119052 * r119053;
        double r119055 = -r119054;
        double r119056 = fma(r119050, r119051, r119055);
        double r119057 = pow(r119056, r119041);
        double r119058 = cbrt(r119057);
        double r119059 = -r119052;
        double r119060 = r119059 + r119052;
        double r119061 = r119053 * r119060;
        double r119062 = r119058 + r119061;
        double r119063 = r119032 ? r119046 : r119062;
        return r119063;
}

Error

Bits error versus x

Derivation

  1. Split input into 2 regimes
  2. if x < -11077.767521343081 or 11856.138291033363 < x

    1. Initial program 59.4

      \[\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)}\]
    4. Using strategy rm
    5. Applied fma-udef0.3

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

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

    if -11077.767521343081 < x < 11856.138291033363

    1. Initial program 0.1

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

      \[\leadsto \frac{x}{x + 1} - \frac{x + 1}{\color{blue}{\frac{x \cdot x - 1 \cdot 1}{x + 1}}}\]
    4. Applied associate-/r/0.1

      \[\leadsto \frac{x}{x + 1} - \color{blue}{\frac{x + 1}{x \cdot x - 1 \cdot 1} \cdot \left(x + 1\right)}\]
    5. Applied flip-+0.1

      \[\leadsto \frac{x}{\color{blue}{\frac{x \cdot x - 1 \cdot 1}{x - 1}}} - \frac{x + 1}{x \cdot x - 1 \cdot 1} \cdot \left(x + 1\right)\]
    6. Applied associate-/r/0.1

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

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

      \[\leadsto \mathsf{fma}\left(\frac{x}{x \cdot x - 1 \cdot 1}, x - 1, -\left(x + 1\right) \cdot \frac{x + 1}{x \cdot x - 1 \cdot 1}\right) + \color{blue}{\frac{x + 1}{x \cdot x - 1 \cdot 1} \cdot \left(\left(-\left(x + 1\right)\right) + \left(x + 1\right)\right)}\]
    9. Using strategy rm
    10. Applied add-cbrt-cube0.1

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

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

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

Reproduce

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