double f(double f, double n) {
double r5013001 = f;
double r5013002 = n;
double r5013003 = r5013001 + r5013002;
double r5013004 = -r5013003;
double r5013005 = r5013001 - r5013002;
double r5013006 = r5013004 / r5013005;
return r5013006;
}
double f(double f, double n) {
double r5013007 = -1.0;
double r5013008 = f;
double r5013009 = n;
double r5013010 = r5013008 - r5013009;
double r5013011 = r5013008 + r5013009;
double r5013012 = r5013010 / r5013011;
double r5013013 = r5013007 / r5013012;
return r5013013;
}
\frac{-\left(f + n\right)}{f - n}\frac{-1}{\frac{f - n}{f + n}}


Bits error versus f



Bits error versus n
Initial program 0.0
rmApplied *-un-lft-identity0.0
Applied distribute-lft-neg-in0.0
Applied associate-/l*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019102 +o rules:numerics
(FPCore (f n)
:name "subtraction fraction"
(/ (- (+ f n)) (- f n)))