(FPCore (f n) :precision binary64 (/ (- (+ f n)) (- f n)))
(FPCore (f n) :precision binary64 (pow (/ (- n 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 - 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 - 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 - f) / (n + f)), -1.0);
}
def code(f, n): return -(f + n) / (f - n)
def code(f, n): return math.pow(((n - 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 - 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 - 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 - f), $MachinePrecision] / N[(n + f), $MachinePrecision]), $MachinePrecision], -1.0], $MachinePrecision]
\frac{-\left(f + n\right)}{f - n}
{\left(\frac{n - f}{n + f}\right)}^{-1}



Bits error versus f



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