Average Error: 0.0 → 0.0
Time: 13.3s
Precision: 64
\[\frac{-\left(f + n\right)}{f - n}\]
\[\frac{\mathsf{fma}\left(\left(\frac{f}{n - f} \cdot \frac{f}{n - f}\right), \left(\frac{f}{n - f}\right), \left(\frac{n}{n - f} \cdot \left(\frac{n}{n - f} \cdot \frac{n}{n - f}\right)\right)\right)}{\mathsf{fma}\left(\left(\frac{f}{n - f}\right), \left(\frac{f}{n - f}\right), \left(\frac{n}{n - f}\right)\right)}\]
\frac{-\left(f + n\right)}{f - n}
\frac{\mathsf{fma}\left(\left(\frac{f}{n - f} \cdot \frac{f}{n - f}\right), \left(\frac{f}{n - f}\right), \left(\frac{n}{n - f} \cdot \left(\frac{n}{n - f} \cdot \frac{n}{n - f}\right)\right)\right)}{\mathsf{fma}\left(\left(\frac{f}{n - f}\right), \left(\frac{f}{n - f}\right), \left(\frac{n}{n - f}\right)\right)}
double f(double f, double n) {
        double r403397 = f;
        double r403398 = n;
        double r403399 = r403397 + r403398;
        double r403400 = -r403399;
        double r403401 = r403397 - r403398;
        double r403402 = r403400 / r403401;
        return r403402;
}

double f(double f, double n) {
        double r403403 = f;
        double r403404 = n;
        double r403405 = r403404 - r403403;
        double r403406 = r403403 / r403405;
        double r403407 = r403406 * r403406;
        double r403408 = r403404 / r403405;
        double r403409 = r403408 * r403408;
        double r403410 = r403408 * r403409;
        double r403411 = fma(r403407, r403406, r403410);
        double r403412 = fma(r403406, r403406, r403408);
        double r403413 = r403411 / r403412;
        return r403413;
}

Error

Bits error versus f

Bits error versus n

Derivation

  1. Initial program 0.0

    \[\frac{-\left(f + n\right)}{f - n}\]
  2. Using strategy rm
  3. Applied frac-2neg0.0

    \[\leadsto \color{blue}{\frac{-\left(-\left(f + n\right)\right)}{-\left(f - n\right)}}\]
  4. Simplified0.0

    \[\leadsto \frac{\color{blue}{n + f}}{-\left(f - n\right)}\]
  5. Simplified0.0

    \[\leadsto \frac{n + f}{\color{blue}{n - f}}\]
  6. Using strategy rm
  7. Applied flip--31.6

    \[\leadsto \frac{n + f}{\color{blue}{\frac{n \cdot n - f \cdot f}{n + f}}}\]
  8. Applied associate-/r/31.7

    \[\leadsto \color{blue}{\frac{n + f}{n \cdot n - f \cdot f} \cdot \left(n + f\right)}\]
  9. Simplified0.2

    \[\leadsto \color{blue}{\frac{1}{n - f}} \cdot \left(n + f\right)\]
  10. Using strategy rm
  11. Applied distribute-rgt-in0.2

    \[\leadsto \color{blue}{n \cdot \frac{1}{n - f} + f \cdot \frac{1}{n - f}}\]
  12. Using strategy rm
  13. Applied flip3-+0.2

    \[\leadsto \color{blue}{\frac{{\left(n \cdot \frac{1}{n - f}\right)}^{3} + {\left(f \cdot \frac{1}{n - f}\right)}^{3}}{\left(n \cdot \frac{1}{n - f}\right) \cdot \left(n \cdot \frac{1}{n - f}\right) + \left(\left(f \cdot \frac{1}{n - f}\right) \cdot \left(f \cdot \frac{1}{n - f}\right) - \left(n \cdot \frac{1}{n - f}\right) \cdot \left(f \cdot \frac{1}{n - f}\right)\right)}}\]
  14. Simplified0.2

    \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\left(\frac{f}{n - f} \cdot \frac{f}{n - f}\right), \left(\frac{f}{n - f}\right), \left(\frac{n}{n - f} \cdot \left(\frac{n}{n - f} \cdot \frac{n}{n - f}\right)\right)\right)}}{\left(n \cdot \frac{1}{n - f}\right) \cdot \left(n \cdot \frac{1}{n - f}\right) + \left(\left(f \cdot \frac{1}{n - f}\right) \cdot \left(f \cdot \frac{1}{n - f}\right) - \left(n \cdot \frac{1}{n - f}\right) \cdot \left(f \cdot \frac{1}{n - f}\right)\right)}\]
  15. Simplified0.0

    \[\leadsto \frac{\mathsf{fma}\left(\left(\frac{f}{n - f} \cdot \frac{f}{n - f}\right), \left(\frac{f}{n - f}\right), \left(\frac{n}{n - f} \cdot \left(\frac{n}{n - f} \cdot \frac{n}{n - f}\right)\right)\right)}{\color{blue}{\mathsf{fma}\left(\left(\frac{f}{n - f}\right), \left(\frac{f}{n - f}\right), \left(\frac{n}{n - f}\right)\right)}}\]
  16. Final simplification0.0

    \[\leadsto \frac{\mathsf{fma}\left(\left(\frac{f}{n - f} \cdot \frac{f}{n - f}\right), \left(\frac{f}{n - f}\right), \left(\frac{n}{n - f} \cdot \left(\frac{n}{n - f} \cdot \frac{n}{n - f}\right)\right)\right)}{\mathsf{fma}\left(\left(\frac{f}{n - f}\right), \left(\frac{f}{n - f}\right), \left(\frac{n}{n - f}\right)\right)}\]

Reproduce

herbie shell --seed 2019133 +o rules:numerics
(FPCore (f n)
  :name "subtraction fraction"
  (/ (- (+ f n)) (- f n)))