Average Error: 0.0 → 0.0
Time: 13.9s
Precision: 64
\[\frac{1}{x - 1} + \frac{x}{x + 1}\]
\[\frac{\mathsf{fma}\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}, \frac{x}{1 + x}, \frac{\frac{1}{x - 1}}{x - 1} \cdot \frac{1}{x - 1}\right)}{\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x} - \frac{x}{1 + x} \cdot \frac{1}{x - 1}\right) + \frac{1}{x - 1} \cdot \frac{1}{x - 1}}\]
\frac{1}{x - 1} + \frac{x}{x + 1}
\frac{\mathsf{fma}\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}, \frac{x}{1 + x}, \frac{\frac{1}{x - 1}}{x - 1} \cdot \frac{1}{x - 1}\right)}{\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x} - \frac{x}{1 + x} \cdot \frac{1}{x - 1}\right) + \frac{1}{x - 1} \cdot \frac{1}{x - 1}}
double f(double x) {
        double r5354331 = 1.0;
        double r5354332 = x;
        double r5354333 = r5354332 - r5354331;
        double r5354334 = r5354331 / r5354333;
        double r5354335 = r5354332 + r5354331;
        double r5354336 = r5354332 / r5354335;
        double r5354337 = r5354334 + r5354336;
        return r5354337;
}

double f(double x) {
        double r5354338 = x;
        double r5354339 = 1.0;
        double r5354340 = r5354339 + r5354338;
        double r5354341 = r5354338 / r5354340;
        double r5354342 = r5354341 * r5354341;
        double r5354343 = r5354338 - r5354339;
        double r5354344 = r5354339 / r5354343;
        double r5354345 = r5354344 / r5354343;
        double r5354346 = r5354345 * r5354344;
        double r5354347 = fma(r5354342, r5354341, r5354346);
        double r5354348 = r5354341 * r5354344;
        double r5354349 = r5354342 - r5354348;
        double r5354350 = r5354344 * r5354344;
        double r5354351 = r5354349 + r5354350;
        double r5354352 = r5354347 / r5354351;
        return r5354352;
}

Error

Bits error versus x

Derivation

  1. Initial program 0.0

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

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

    \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\frac{x}{x + 1} \cdot \frac{x}{x + 1}, \frac{x}{x + 1}, \left(\frac{1}{x - 1} \cdot \frac{1}{x - 1}\right) \cdot \frac{1}{x - 1}\right)}}{\frac{1}{x - 1} \cdot \frac{1}{x - 1} + \left(\frac{x}{x + 1} \cdot \frac{x}{x + 1} - \frac{1}{x - 1} \cdot \frac{x}{x + 1}\right)}\]
  5. Using strategy rm
  6. Applied un-div-inv0.0

    \[\leadsto \frac{\mathsf{fma}\left(\frac{x}{x + 1} \cdot \frac{x}{x + 1}, \frac{x}{x + 1}, \color{blue}{\frac{\frac{1}{x - 1}}{x - 1}} \cdot \frac{1}{x - 1}\right)}{\frac{1}{x - 1} \cdot \frac{1}{x - 1} + \left(\frac{x}{x + 1} \cdot \frac{x}{x + 1} - \frac{1}{x - 1} \cdot \frac{x}{x + 1}\right)}\]
  7. Final simplification0.0

    \[\leadsto \frac{\mathsf{fma}\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}, \frac{x}{1 + x}, \frac{\frac{1}{x - 1}}{x - 1} \cdot \frac{1}{x - 1}\right)}{\left(\frac{x}{1 + x} \cdot \frac{x}{1 + x} - \frac{x}{1 + x} \cdot \frac{1}{x - 1}\right) + \frac{1}{x - 1} \cdot \frac{1}{x - 1}}\]

Reproduce

herbie shell --seed 2019168 +o rules:numerics
(FPCore (x)
  :name "Asymptote B"
  (+ (/ 1 (- x 1)) (/ x (+ x 1))))