Average Error: 28.9 → 0.1
Time: 6.3s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -9606.7707320121335 \lor \neg \left(x \le 13257.47252325277\right):\\ \;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{{\left(x \cdot x\right)}^{3} \cdot {\left(x - 1\right)}^{3} - {\left(\left(x + 1\right) \cdot \left(x + 1\right)\right)}^{3} \cdot {\left(\left(x + 1\right) \cdot \frac{x + 1}{x - 1}\right)}^{3}}{{\left(\left(x + 1\right) \cdot \left(x + 1\right)\right)}^{3} \cdot {\left(x - 1\right)}^{3}}}{\left(\left({\left(\frac{x}{x + 1}\right)}^{4} + \left(\frac{x}{x + 1} \cdot \frac{x}{x + 1}\right) \cdot \left(\frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}\right)\right) + {\left(\frac{x + 1}{x - 1}\right)}^{4}\right) \cdot \left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right)}\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -9606.7707320121335 \lor \neg \left(x \le 13257.47252325277\right):\\
\;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\

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

\end{array}
double f(double x) {
        double r128177 = x;
        double r128178 = 1.0;
        double r128179 = r128177 + r128178;
        double r128180 = r128177 / r128179;
        double r128181 = r128177 - r128178;
        double r128182 = r128179 / r128181;
        double r128183 = r128180 - r128182;
        return r128183;
}

double f(double x) {
        double r128184 = x;
        double r128185 = -9606.770732012134;
        bool r128186 = r128184 <= r128185;
        double r128187 = 13257.47252325277;
        bool r128188 = r128184 <= r128187;
        double r128189 = !r128188;
        bool r128190 = r128186 || r128189;
        double r128191 = 1.0;
        double r128192 = -r128191;
        double r128193 = 2.0;
        double r128194 = pow(r128184, r128193);
        double r128195 = r128192 / r128194;
        double r128196 = 3.0;
        double r128197 = r128196 / r128184;
        double r128198 = r128195 - r128197;
        double r128199 = 3.0;
        double r128200 = pow(r128184, r128199);
        double r128201 = r128196 / r128200;
        double r128202 = r128198 - r128201;
        double r128203 = r128184 * r128184;
        double r128204 = pow(r128203, r128199);
        double r128205 = r128184 - r128191;
        double r128206 = pow(r128205, r128199);
        double r128207 = r128204 * r128206;
        double r128208 = r128184 + r128191;
        double r128209 = r128208 * r128208;
        double r128210 = pow(r128209, r128199);
        double r128211 = r128208 / r128205;
        double r128212 = r128208 * r128211;
        double r128213 = pow(r128212, r128199);
        double r128214 = r128210 * r128213;
        double r128215 = r128207 - r128214;
        double r128216 = r128210 * r128206;
        double r128217 = r128215 / r128216;
        double r128218 = r128184 / r128208;
        double r128219 = 4.0;
        double r128220 = pow(r128218, r128219);
        double r128221 = r128218 * r128218;
        double r128222 = r128211 * r128211;
        double r128223 = r128221 * r128222;
        double r128224 = r128220 + r128223;
        double r128225 = pow(r128211, r128219);
        double r128226 = r128224 + r128225;
        double r128227 = r128218 + r128211;
        double r128228 = r128226 * r128227;
        double r128229 = r128217 / r128228;
        double r128230 = r128190 ? r128202 : r128229;
        return r128230;
}

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 < -9606.770732012134 or 13257.47252325277 < 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.0

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

    if -9606.770732012134 < x < 13257.47252325277

    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 flip3--0.1

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

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

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

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

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

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

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

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

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

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

Reproduce

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