Average Error: 0.0 → 0.0
Time: 25.0s
Precision: 64
\[\frac{1}{x - 1} + \frac{x}{x + 1}\]
\[\frac{\mathsf{fma}\left(\frac{1}{x - 1}, \frac{1}{x - 1} \cdot \frac{1}{x - 1}, \left(\frac{x}{x + 1} \cdot \frac{x}{x + 1}\right) \cdot \frac{x}{x + 1}\right)}{\mathsf{fma}\left(\frac{1}{x - 1}, \frac{1}{x - 1} - \frac{x}{x + 1}, \frac{x}{x + 1} \cdot \frac{x}{x + 1}\right)}\]
\frac{1}{x - 1} + \frac{x}{x + 1}
\frac{\mathsf{fma}\left(\frac{1}{x - 1}, \frac{1}{x - 1} \cdot \frac{1}{x - 1}, \left(\frac{x}{x + 1} \cdot \frac{x}{x + 1}\right) \cdot \frac{x}{x + 1}\right)}{\mathsf{fma}\left(\frac{1}{x - 1}, \frac{1}{x - 1} - \frac{x}{x + 1}, \frac{x}{x + 1} \cdot \frac{x}{x + 1}\right)}
double f(double x) {
        double r5091145 = 1.0;
        double r5091146 = x;
        double r5091147 = r5091146 - r5091145;
        double r5091148 = r5091145 / r5091147;
        double r5091149 = r5091146 + r5091145;
        double r5091150 = r5091146 / r5091149;
        double r5091151 = r5091148 + r5091150;
        return r5091151;
}

double f(double x) {
        double r5091152 = 1.0;
        double r5091153 = x;
        double r5091154 = r5091153 - r5091152;
        double r5091155 = r5091152 / r5091154;
        double r5091156 = r5091155 * r5091155;
        double r5091157 = r5091153 + r5091152;
        double r5091158 = r5091153 / r5091157;
        double r5091159 = r5091158 * r5091158;
        double r5091160 = r5091159 * r5091158;
        double r5091161 = fma(r5091155, r5091156, r5091160);
        double r5091162 = r5091155 - r5091158;
        double r5091163 = fma(r5091155, r5091162, r5091159);
        double r5091164 = r5091161 / r5091163;
        return r5091164;
}

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{1}{x - 1}, \frac{1}{x - 1} \cdot \frac{1}{x - 1}, \left(\frac{x}{1 + x} \cdot \frac{x}{1 + x}\right) \cdot \frac{x}{1 + x}\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. Simplified0.0

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

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

Reproduce

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