Average Error: 29.7 → 0.1
Time: 14.7s
Precision: 64
\[\frac{x}{x + 1} - \frac{x + 1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -11622.72029415746510494500398635864257812 \lor \neg \left(x \le 9628.580561968385154614225029945373535156\right):\\ \;\;\;\;\frac{-1}{x \cdot x} - \left(\frac{3}{{x}^{3}} + \frac{3}{x}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left(\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) \cdot \left(x - 1\right)\right) \cdot \left(\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) \cdot \left(x - 1\right)\right) - \left(\left({x}^{3} + {1}^{3}\right) \cdot \left(x + 1\right)\right) \cdot \left(\left({x}^{3} + {1}^{3}\right) \cdot \left(x + 1\right)\right)}{\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) \cdot \left(x - 1\right) + \left({x}^{3} + {1}^{3}\right) \cdot \left(x + 1\right)}}{\left({x}^{3} + {1}^{3}\right) \cdot \left(x - 1\right)}\\ \end{array}\]
\frac{x}{x + 1} - \frac{x + 1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -11622.72029415746510494500398635864257812 \lor \neg \left(x \le 9628.580561968385154614225029945373535156\right):\\
\;\;\;\;\frac{-1}{x \cdot x} - \left(\frac{3}{{x}^{3}} + \frac{3}{x}\right)\\

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

\end{array}
double f(double x) {
        double r150649 = x;
        double r150650 = 1.0;
        double r150651 = r150649 + r150650;
        double r150652 = r150649 / r150651;
        double r150653 = r150649 - r150650;
        double r150654 = r150651 / r150653;
        double r150655 = r150652 - r150654;
        return r150655;
}

double f(double x) {
        double r150656 = x;
        double r150657 = -11622.720294157465;
        bool r150658 = r150656 <= r150657;
        double r150659 = 9628.580561968385;
        bool r150660 = r150656 <= r150659;
        double r150661 = !r150660;
        bool r150662 = r150658 || r150661;
        double r150663 = 1.0;
        double r150664 = -r150663;
        double r150665 = r150656 * r150656;
        double r150666 = r150664 / r150665;
        double r150667 = 3.0;
        double r150668 = 3.0;
        double r150669 = pow(r150656, r150668);
        double r150670 = r150667 / r150669;
        double r150671 = r150667 / r150656;
        double r150672 = r150670 + r150671;
        double r150673 = r150666 - r150672;
        double r150674 = r150663 - r150656;
        double r150675 = r150663 * r150674;
        double r150676 = r150675 * r150656;
        double r150677 = r150669 + r150676;
        double r150678 = r150656 - r150663;
        double r150679 = r150677 * r150678;
        double r150680 = r150679 * r150679;
        double r150681 = pow(r150663, r150668);
        double r150682 = r150669 + r150681;
        double r150683 = r150656 + r150663;
        double r150684 = r150682 * r150683;
        double r150685 = r150684 * r150684;
        double r150686 = r150680 - r150685;
        double r150687 = r150679 + r150684;
        double r150688 = r150686 / r150687;
        double r150689 = r150682 * r150678;
        double r150690 = r150688 / r150689;
        double r150691 = r150662 ? r150673 : r150690;
        return r150691;
}

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 < -11622.720294157465 or 9628.580561968385 < x

    1. Initial program 59.4

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

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

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

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

    if -11622.720294157465 < x < 9628.580561968385

    1. Initial program 0.1

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

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

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

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

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

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

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

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

Reproduce

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