Average Error: 29.5 → 0.1
Time: 9.3s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -8688.238468616020327317528426647186279297 \lor \neg \left(x \le 10925.36989018712301913183182477951049805\right):\\ \;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{x}{x + 1}\right)}^{3} - \log \left(e^{{\left(\frac{x + 1}{x - 1}\right)}^{3}}\right)}{\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}}\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -8688.238468616020327317528426647186279297 \lor \neg \left(x \le 10925.36989018712301913183182477951049805\right):\\
\;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\

\mathbf{else}:\\
\;\;\;\;\frac{{\left(\frac{x}{x + 1}\right)}^{3} - \log \left(e^{{\left(\frac{x + 1}{x - 1}\right)}^{3}}\right)}{\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}}\\

\end{array}
double f(double x) {
        double r160180 = x;
        double r160181 = 1.0;
        double r160182 = r160180 + r160181;
        double r160183 = r160180 / r160182;
        double r160184 = r160180 - r160181;
        double r160185 = r160182 / r160184;
        double r160186 = r160183 - r160185;
        return r160186;
}

double f(double x) {
        double r160187 = x;
        double r160188 = -8688.23846861602;
        bool r160189 = r160187 <= r160188;
        double r160190 = 10925.369890187123;
        bool r160191 = r160187 <= r160190;
        double r160192 = !r160191;
        bool r160193 = r160189 || r160192;
        double r160194 = 1.0;
        double r160195 = -r160194;
        double r160196 = 2.0;
        double r160197 = pow(r160187, r160196);
        double r160198 = r160195 / r160197;
        double r160199 = 3.0;
        double r160200 = r160199 / r160187;
        double r160201 = r160198 - r160200;
        double r160202 = 3.0;
        double r160203 = pow(r160187, r160202);
        double r160204 = r160199 / r160203;
        double r160205 = r160201 - r160204;
        double r160206 = r160187 + r160194;
        double r160207 = r160187 / r160206;
        double r160208 = pow(r160207, r160202);
        double r160209 = r160187 - r160194;
        double r160210 = r160206 / r160209;
        double r160211 = pow(r160210, r160202);
        double r160212 = exp(r160211);
        double r160213 = log(r160212);
        double r160214 = r160208 - r160213;
        double r160215 = r160210 + r160207;
        double r160216 = r160210 * r160215;
        double r160217 = r160207 * r160207;
        double r160218 = r160216 + r160217;
        double r160219 = r160214 / r160218;
        double r160220 = r160193 ? r160205 : r160219;
        return r160220;
}

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 < -8688.23846861602 or 10925.369890187123 < 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 -8688.23846861602 < x < 10925.369890187123

    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 add-log-exp0.1

      \[\leadsto \frac{{\left(\frac{x}{x + 1}\right)}^{3} - \color{blue}{\log \left(e^{{\left(\frac{x + 1}{x - 1}\right)}^{3}}\right)}}{\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}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -8688.238468616020327317528426647186279297 \lor \neg \left(x \le 10925.36989018712301913183182477951049805\right):\\ \;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{x}{x + 1}\right)}^{3} - \log \left(e^{{\left(\frac{x + 1}{x - 1}\right)}^{3}}\right)}{\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}}\\ \end{array}\]

Reproduce

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