Average Error: 29.1 → 0.1
Time: 3.0m
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -10613.7911869859:\\ \;\;\;\;\frac{\frac{-3}{x}}{x \cdot x} - \left(\frac{1}{x \cdot x} - \frac{-3}{x}\right)\\ \mathbf{elif}\;x \le 12915.298358067575:\\ \;\;\;\;\frac{\log \left(e^{\left(\frac{x}{x + 1} \cdot \frac{x}{x + 1}\right) \cdot \frac{x}{x + 1} - \frac{x + 1}{x - 1} \cdot \left(\frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}\right)}\right)}{\frac{x \cdot x}{\left(x + 1\right) \cdot \left(x + 1\right)} + \left(\frac{x + 1}{x + -1} \cdot \frac{x + 1}{x + -1} + \frac{x}{x + -1}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{-3}{x}}{x \cdot x} - \left(\frac{1}{x \cdot x} - \frac{-3}{x}\right)\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -10613.7911869859:\\
\;\;\;\;\frac{\frac{-3}{x}}{x \cdot x} - \left(\frac{1}{x \cdot x} - \frac{-3}{x}\right)\\

\mathbf{elif}\;x \le 12915.298358067575:\\
\;\;\;\;\frac{\log \left(e^{\left(\frac{x}{x + 1} \cdot \frac{x}{x + 1}\right) \cdot \frac{x}{x + 1} - \frac{x + 1}{x - 1} \cdot \left(\frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}\right)}\right)}{\frac{x \cdot x}{\left(x + 1\right) \cdot \left(x + 1\right)} + \left(\frac{x + 1}{x + -1} \cdot \frac{x + 1}{x + -1} + \frac{x}{x + -1}\right)}\\

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

\end{array}
double f(double x) {
        double r28540000 = x;
        double r28540001 = 1.0;
        double r28540002 = r28540000 + r28540001;
        double r28540003 = r28540000 / r28540002;
        double r28540004 = r28540000 - r28540001;
        double r28540005 = r28540002 / r28540004;
        double r28540006 = r28540003 - r28540005;
        return r28540006;
}

double f(double x) {
        double r28540007 = x;
        double r28540008 = -10613.7911869859;
        bool r28540009 = r28540007 <= r28540008;
        double r28540010 = -3.0;
        double r28540011 = r28540010 / r28540007;
        double r28540012 = r28540007 * r28540007;
        double r28540013 = r28540011 / r28540012;
        double r28540014 = 1.0;
        double r28540015 = r28540014 / r28540012;
        double r28540016 = r28540015 - r28540011;
        double r28540017 = r28540013 - r28540016;
        double r28540018 = 12915.298358067575;
        bool r28540019 = r28540007 <= r28540018;
        double r28540020 = r28540007 + r28540014;
        double r28540021 = r28540007 / r28540020;
        double r28540022 = r28540021 * r28540021;
        double r28540023 = r28540022 * r28540021;
        double r28540024 = r28540007 - r28540014;
        double r28540025 = r28540020 / r28540024;
        double r28540026 = r28540025 * r28540025;
        double r28540027 = r28540025 * r28540026;
        double r28540028 = r28540023 - r28540027;
        double r28540029 = exp(r28540028);
        double r28540030 = log(r28540029);
        double r28540031 = r28540020 * r28540020;
        double r28540032 = r28540012 / r28540031;
        double r28540033 = -1.0;
        double r28540034 = r28540007 + r28540033;
        double r28540035 = r28540020 / r28540034;
        double r28540036 = r28540035 * r28540035;
        double r28540037 = r28540007 / r28540034;
        double r28540038 = r28540036 + r28540037;
        double r28540039 = r28540032 + r28540038;
        double r28540040 = r28540030 / r28540039;
        double r28540041 = r28540019 ? r28540040 : r28540017;
        double r28540042 = r28540009 ? r28540017 : r28540041;
        return r28540042;
}

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 < -10613.7911869859 or 12915.298358067575 < 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(3 \cdot \frac{1}{{x}^{3}} + \left(\frac{1}{{x}^{2}} + 3 \cdot \frac{1}{x}\right)\right)}\]
    3. Simplified0.0

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

    if -10613.7911869859 < x < 12915.298358067575

    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{\color{blue}{\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}\right) \cdot \frac{x}{1 + x} - \left(\frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) \cdot \frac{1 + x}{x - 1}}}{\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)}\]
    5. Simplified0.1

      \[\leadsto \frac{\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}\right) \cdot \frac{x}{1 + x} - \left(\frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) \cdot \frac{1 + x}{x - 1}}{\color{blue}{\frac{x}{1 + x} \cdot \frac{x}{1 + x} + \left(\frac{1 + x}{-1 + x} \cdot \frac{1 + x}{-1 + x} + \frac{x}{-1 + x}\right)}}\]
    6. Using strategy rm
    7. Applied add-log-exp0.1

      \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}\right) \cdot \frac{x}{1 + x} - \left(\frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}\right) \cdot \frac{1 + x}{x - 1}}\right)}}{\frac{x}{1 + x} \cdot \frac{x}{1 + x} + \left(\frac{1 + x}{-1 + x} \cdot \frac{1 + x}{-1 + x} + \frac{x}{-1 + x}\right)}\]
    8. Using strategy rm
    9. Applied frac-times0.1

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -10613.7911869859:\\ \;\;\;\;\frac{\frac{-3}{x}}{x \cdot x} - \left(\frac{1}{x \cdot x} - \frac{-3}{x}\right)\\ \mathbf{elif}\;x \le 12915.298358067575:\\ \;\;\;\;\frac{\log \left(e^{\left(\frac{x}{x + 1} \cdot \frac{x}{x + 1}\right) \cdot \frac{x}{x + 1} - \frac{x + 1}{x - 1} \cdot \left(\frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}\right)}\right)}{\frac{x \cdot x}{\left(x + 1\right) \cdot \left(x + 1\right)} + \left(\frac{x + 1}{x + -1} \cdot \frac{x + 1}{x + -1} + \frac{x}{x + -1}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{-3}{x}}{x \cdot x} - \left(\frac{1}{x \cdot x} - \frac{-3}{x}\right)\\ \end{array}\]

Reproduce

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