Average Error: 0.0 → 0.0
Time: 15.5s
Precision: 64
\[\frac{-\left(f + n\right)}{f - n}\]
\[\frac{-1}{\log \left(e^{\frac{1}{\frac{n + f}{f - n}}}\right)}\]
\frac{-\left(f + n\right)}{f - n}
\frac{-1}{\log \left(e^{\frac{1}{\frac{n + f}{f - n}}}\right)}
double f(double f, double n) {
        double r869699 = f;
        double r869700 = n;
        double r869701 = r869699 + r869700;
        double r869702 = -r869701;
        double r869703 = r869699 - r869700;
        double r869704 = r869702 / r869703;
        return r869704;
}

double f(double f, double n) {
        double r869705 = -1.0;
        double r869706 = 1.0;
        double r869707 = n;
        double r869708 = f;
        double r869709 = r869707 + r869708;
        double r869710 = r869708 - r869707;
        double r869711 = r869709 / r869710;
        double r869712 = r869706 / r869711;
        double r869713 = exp(r869712);
        double r869714 = log(r869713);
        double r869715 = r869705 / r869714;
        return r869715;
}

Error

Bits error versus f

Bits error versus n

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

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

    \[\leadsto \frac{\color{blue}{-1 \cdot \left(f + n\right)}}{f - n}\]
  4. Applied associate-/l*0.0

    \[\leadsto \color{blue}{\frac{-1}{\frac{f - n}{f + n}}}\]
  5. Using strategy rm
  6. Applied add-log-exp0.0

    \[\leadsto \frac{-1}{\color{blue}{\log \left(e^{\frac{f - n}{f + n}}\right)}}\]
  7. Using strategy rm
  8. Applied clear-num0.0

    \[\leadsto \frac{-1}{\log \left(e^{\color{blue}{\frac{1}{\frac{f + n}{f - n}}}}\right)}\]
  9. Final simplification0.0

    \[\leadsto \frac{-1}{\log \left(e^{\frac{1}{\frac{n + f}{f - n}}}\right)}\]

Reproduce

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