Average Error: 0.0 → 0.0
Time: 3.4s
Precision: 64
\[\frac{-\left(f + n\right)}{f - n}\]
\[\log \left(e^{\frac{-\left(f + n\right)}{f - n}}\right)\]
\frac{-\left(f + n\right)}{f - n}
\log \left(e^{\frac{-\left(f + n\right)}{f - n}}\right)
double f(double f, double n) {
        double r12567 = f;
        double r12568 = n;
        double r12569 = r12567 + r12568;
        double r12570 = -r12569;
        double r12571 = r12567 - r12568;
        double r12572 = r12570 / r12571;
        return r12572;
}

double f(double f, double n) {
        double r12573 = f;
        double r12574 = n;
        double r12575 = r12573 + r12574;
        double r12576 = -r12575;
        double r12577 = r12573 - r12574;
        double r12578 = r12576 / r12577;
        double r12579 = exp(r12578);
        double r12580 = log(r12579);
        return r12580;
}

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 add-log-exp0.0

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

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

Reproduce

herbie shell --seed 2020002 
(FPCore (f n)
  :name "subtraction fraction"
  :precision binary64
  (/ (- (+ f n)) (- f n)))