Average Error: 29.0 → 0.2
Time: 8.5s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -11929.615164331793 \lor \neg \left(x \le 9332.36210286298774\right):\\ \;\;\;\;\frac{-1}{{x}^{2}} - 3 \cdot \left(\frac{1}{x} + \frac{1}{{x}^{3}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{x}{x + 1}\right)}^{3} - {\left(\frac{x + 1}{x - 1}\right)}^{3}}{\left(\left(x + 1\right) \cdot \left(\frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1} - \frac{x}{x + 1} \cdot \frac{x}{x + 1}\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right) + \left(\left(x - 1\right) \cdot \left(\frac{x + 1}{x - 1} - \frac{x}{x + 1}\right)\right) \cdot \left(x \cdot x\right)} \cdot \left(\left(\left(x - 1\right) \cdot \left(\frac{x + 1}{x - 1} - \frac{x}{x + 1}\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right)\right)\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -11929.615164331793 \lor \neg \left(x \le 9332.36210286298774\right):\\
\;\;\;\;\frac{-1}{{x}^{2}} - 3 \cdot \left(\frac{1}{x} + \frac{1}{{x}^{3}}\right)\\

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

\end{array}
double f(double x) {
        double r147162 = x;
        double r147163 = 1.0;
        double r147164 = r147162 + r147163;
        double r147165 = r147162 / r147164;
        double r147166 = r147162 - r147163;
        double r147167 = r147164 / r147166;
        double r147168 = r147165 - r147167;
        return r147168;
}

double f(double x) {
        double r147169 = x;
        double r147170 = -11929.615164331793;
        bool r147171 = r147169 <= r147170;
        double r147172 = 9332.362102862988;
        bool r147173 = r147169 <= r147172;
        double r147174 = !r147173;
        bool r147175 = r147171 || r147174;
        double r147176 = 1.0;
        double r147177 = -r147176;
        double r147178 = 2.0;
        double r147179 = pow(r147169, r147178);
        double r147180 = r147177 / r147179;
        double r147181 = 3.0;
        double r147182 = 1.0;
        double r147183 = r147182 / r147169;
        double r147184 = 3.0;
        double r147185 = pow(r147169, r147184);
        double r147186 = r147182 / r147185;
        double r147187 = r147183 + r147186;
        double r147188 = r147181 * r147187;
        double r147189 = r147180 - r147188;
        double r147190 = r147169 + r147176;
        double r147191 = r147169 / r147190;
        double r147192 = pow(r147191, r147184);
        double r147193 = r147169 - r147176;
        double r147194 = r147190 / r147193;
        double r147195 = pow(r147194, r147184);
        double r147196 = r147192 - r147195;
        double r147197 = r147194 * r147194;
        double r147198 = r147191 * r147191;
        double r147199 = r147197 - r147198;
        double r147200 = r147190 * r147199;
        double r147201 = r147190 * r147190;
        double r147202 = r147200 * r147201;
        double r147203 = r147194 - r147191;
        double r147204 = r147193 * r147203;
        double r147205 = r147169 * r147169;
        double r147206 = r147204 * r147205;
        double r147207 = r147202 + r147206;
        double r147208 = r147196 / r147207;
        double r147209 = r147204 * r147201;
        double r147210 = r147208 * r147209;
        double r147211 = r147175 ? r147189 : r147210;
        return r147211;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if x < -11929.615164331793 or 9332.362102862988 < x

    1. Initial program 59.2

      \[\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}} - 3 \cdot \left(\frac{1}{x} + \frac{1}{{x}^{3}}\right)}\]

    if -11929.615164331793 < x < 9332.362102862988

    1. Initial program 0.1

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

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

      \[\leadsto \frac{{\left(\frac{x}{x + 1}\right)}^{3} - {\left(\frac{x + 1}{x - 1}\right)}^{3}}{\color{blue}{\frac{x + 1}{x - 1} \cdot \left(\frac{x + 1}{x - 1} + \frac{x}{x + 1}\right) + \frac{x}{x + 1} \cdot \frac{x}{x + 1}}}\]
    5. Using strategy rm
    6. Applied frac-times0.1

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -11929.615164331793 \lor \neg \left(x \le 9332.36210286298774\right):\\ \;\;\;\;\frac{-1}{{x}^{2}} - 3 \cdot \left(\frac{1}{x} + \frac{1}{{x}^{3}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{x}{x + 1}\right)}^{3} - {\left(\frac{x + 1}{x - 1}\right)}^{3}}{\left(\left(x + 1\right) \cdot \left(\frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1} - \frac{x}{x + 1} \cdot \frac{x}{x + 1}\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right) + \left(\left(x - 1\right) \cdot \left(\frac{x + 1}{x - 1} - \frac{x}{x + 1}\right)\right) \cdot \left(x \cdot x\right)} \cdot \left(\left(\left(x - 1\right) \cdot \left(\frac{x + 1}{x - 1} - \frac{x}{x + 1}\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020100 
(FPCore (x)
  :name "Asymptote C"
  :precision binary64
  (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))