(FPCore (f n) :precision binary64 (/ (- (+ f n)) (- f n)))
(FPCore (f n) :precision binary64 (pow (- (/ n (+ n f)) (/ f (+ n f))) -1.0))
double code(double f, double n) {
return -(f + n) / (f - n);
}
double code(double f, double n) {
return pow(((n / (n + f)) - (f / (n + f))), -1.0);
}
real(8) function code(f, n)
real(8), intent (in) :: f
real(8), intent (in) :: n
code = -(f + n) / (f - n)
end function
real(8) function code(f, n)
real(8), intent (in) :: f
real(8), intent (in) :: n
code = ((n / (n + f)) - (f / (n + f))) ** (-1.0d0)
end function
public static double code(double f, double n) {
return -(f + n) / (f - n);
}
public static double code(double f, double n) {
return Math.pow(((n / (n + f)) - (f / (n + f))), -1.0);
}
def code(f, n): return -(f + n) / (f - n)
def code(f, n): return math.pow(((n / (n + f)) - (f / (n + f))), -1.0)
function code(f, n) return Float64(Float64(-Float64(f + n)) / Float64(f - n)) end
function code(f, n) return Float64(Float64(n / Float64(n + f)) - Float64(f / Float64(n + f))) ^ -1.0 end
function tmp = code(f, n) tmp = -(f + n) / (f - n); end
function tmp = code(f, n) tmp = ((n / (n + f)) - (f / (n + f))) ^ -1.0; end
code[f_, n_] := N[((-N[(f + n), $MachinePrecision]) / N[(f - n), $MachinePrecision]), $MachinePrecision]
code[f_, n_] := N[Power[N[(N[(n / N[(n + f), $MachinePrecision]), $MachinePrecision] - N[(f / N[(n + f), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], -1.0], $MachinePrecision]
\frac{-\left(f + n\right)}{f - n}
{\left(\frac{n}{n + f} - \frac{f}{n + f}\right)}^{-1}



Bits error versus f



Bits error versus n
Results
Initial program 0.0
Simplified0.0
Applied egg-rr0.0
Applied egg-rr0.0
Final simplification0.0
herbie shell --seed 2022153
(FPCore (f n)
:name "subtraction fraction"
:precision binary64
(/ (- (+ f n)) (- f n)))