Average Error: 29.3 → 0.3
Time: 5.0s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -121810688.584929809:\\ \;\;\;\;\left(\frac{-3}{x} + \frac{1}{{x}^{2}}\right) + \frac{x + 1}{x \cdot x - 1 \cdot 1} \cdot \left(\left(-\left(x + 1\right)\right) + \left(x + 1\right)\right)\\ \mathbf{elif}\;x \le 12712.5671000054735:\\ \;\;\;\;\mathsf{fma}\left(\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{1}, \frac{\sqrt[3]{x}}{x + 1}, -\frac{x + 1}{x - 1}\right)\\ \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 -121810688.584929809:\\
\;\;\;\;\left(\frac{-3}{x} + \frac{1}{{x}^{2}}\right) + \frac{x + 1}{x \cdot x - 1 \cdot 1} \cdot \left(\left(-\left(x + 1\right)\right) + \left(x + 1\right)\right)\\

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

\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 r150174 = x;
        double r150175 = 1.0;
        double r150176 = r150174 + r150175;
        double r150177 = r150174 / r150176;
        double r150178 = r150174 - r150175;
        double r150179 = r150176 / r150178;
        double r150180 = r150177 - r150179;
        return r150180;
}

double f(double x) {
        double r150181 = x;
        double r150182 = -121810688.58492981;
        bool r150183 = r150181 <= r150182;
        double r150184 = 3.0;
        double r150185 = -r150184;
        double r150186 = r150185 / r150181;
        double r150187 = 1.0;
        double r150188 = 2.0;
        double r150189 = pow(r150181, r150188);
        double r150190 = r150187 / r150189;
        double r150191 = r150186 + r150190;
        double r150192 = r150181 + r150187;
        double r150193 = r150181 * r150181;
        double r150194 = r150187 * r150187;
        double r150195 = r150193 - r150194;
        double r150196 = r150192 / r150195;
        double r150197 = -r150192;
        double r150198 = r150197 + r150192;
        double r150199 = r150196 * r150198;
        double r150200 = r150191 + r150199;
        double r150201 = 12712.567100005474;
        bool r150202 = r150181 <= r150201;
        double r150203 = cbrt(r150181);
        double r150204 = r150203 * r150203;
        double r150205 = 1.0;
        double r150206 = r150204 / r150205;
        double r150207 = r150203 / r150192;
        double r150208 = r150181 - r150187;
        double r150209 = r150192 / r150208;
        double r150210 = -r150209;
        double r150211 = fma(r150206, r150207, r150210);
        double r150212 = -r150187;
        double r150213 = r150212 / r150189;
        double r150214 = r150205 / r150181;
        double r150215 = 3.0;
        double r150216 = pow(r150181, r150215);
        double r150217 = r150205 / r150216;
        double r150218 = r150184 * r150217;
        double r150219 = fma(r150184, r150214, r150218);
        double r150220 = r150213 - r150219;
        double r150221 = r150202 ? r150211 : r150220;
        double r150222 = r150183 ? r150200 : r150221;
        return r150222;
}

Error

Bits error versus x

Derivation

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

    1. Initial program 59.7

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

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

      \[\leadsto \frac{x}{x + 1} - \color{blue}{\frac{x + 1}{x \cdot x - 1 \cdot 1} \cdot \left(x + 1\right)}\]
    5. Applied add-cube-cbrt60.8

      \[\leadsto \frac{x}{\color{blue}{\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right) \cdot \sqrt[3]{x + 1}}} - \frac{x + 1}{x \cdot x - 1 \cdot 1} \cdot \left(x + 1\right)\]
    6. Applied *-un-lft-identity60.8

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

      \[\leadsto \color{blue}{\frac{1}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \frac{x}{\sqrt[3]{x + 1}}} - \frac{x + 1}{x \cdot x - 1 \cdot 1} \cdot \left(x + 1\right)\]
    8. Applied prod-diff60.8

      \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{1}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}, \frac{x}{\sqrt[3]{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)}\]
    9. Simplified60.8

      \[\leadsto \mathsf{fma}\left(\frac{1}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}, \frac{x}{\sqrt[3]{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)}\]
    10. Taylor expanded around inf 0.7

      \[\leadsto \color{blue}{\left(1 \cdot \frac{1}{{x}^{2}} - 3 \cdot \frac{1}{x}\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.4

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

    if -121810688.58492981 < x < 12712.567100005474

    1. Initial program 0.1

      \[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity0.1

      \[\leadsto \frac{x}{\color{blue}{1 \cdot \left(x + 1\right)}} - \frac{x + 1}{x - 1}\]
    4. Applied add-cube-cbrt0.2

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

      \[\leadsto \color{blue}{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{1} \cdot \frac{\sqrt[3]{x}}{x + 1}} - \frac{x + 1}{x - 1}\]
    6. Applied fma-neg0.2

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

    if 12712.567100005474 < x

    1. Initial program 59.1

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

      \[\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.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -121810688.584929809:\\ \;\;\;\;\left(\frac{-3}{x} + \frac{1}{{x}^{2}}\right) + \frac{x + 1}{x \cdot x - 1 \cdot 1} \cdot \left(\left(-\left(x + 1\right)\right) + \left(x + 1\right)\right)\\ \mathbf{elif}\;x \le 12712.5671000054735:\\ \;\;\;\;\mathsf{fma}\left(\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{1}, \frac{\sqrt[3]{x}}{x + 1}, -\frac{x + 1}{x - 1}\right)\\ \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 2020036 +o rules:numerics
(FPCore (x)
  :name "Asymptote C"
  :precision binary64
  (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))