The older version 8.0 for Microsoft Windows (32-bit) has no problems with that integral at all.
Let me show, how it works with different assumptions:
int1[a_, b_, f_] =
Integrate[1/(Sqrt[f + b*x^2]), {x, 1, a},
Assumptions -> {f > 0, b > 0, a > 1}]
(* Log[(a b + Sqrt[b (a^2 b + f)])/(b + Sqrt[b (b + f)])]/Sqrt[b] *)
int2[a_, b_, f_] =
Integrate[1/(Sqrt[f + b*x^2]), {x, 1, a},
Assumptions -> {f > 0, b > 0}]
(* ConditionalExpression[(-ArcSinh[Sqrt[b/f]] +
ArcSinh[a Sqrt[b/f]])/Sqrt[b], a > 1] *)
int1[a, b, f] == int2[a, b, f] // TrigToExp //
FullSimplify[#, Assumptions -> {f > 0, b > 0, a > 1}] &
(* True *)
int3[a_, b_, f_] =
Integrate[1/(Sqrt[f + b*x^2]), {x, 1, a},
Assumptions -> {f > 0, b \[Element] Reals}]
(* ConditionalExpression[-((
I Log[(a + Sqrt[a^2 + f/b])/(1 + Sqrt[(b + f)/b])])/Sqrt[-b]),
b + f < 0 && a > 1] *)
int4[a_, b_, f_] =
Integrate[1/(Sqrt[f + b*x^2]), {x, 1, a},
Assumptions -> Element[{b, f}, Reals]]
(* ConditionalExpression[-((
I Log[(a + Sqrt[a^2 + f/b])/(1 + Sqrt[(b + f)/b])])/Sqrt[-b]),
f > 0 && b + f < 0 && a > 1] *)
int5[a_, b_, f_] =
Integrate[1/(Sqrt[f + b*x^2]), {x, 1, a},
Assumptions -> {Element[{b, f}, Reals], a < 1}]
(* ConditionalExpression[-((
I Log[(a + Sqrt[a^2 + f/b])/(1 + Sqrt[(b + f)/b])])/Sqrt[-b]),
f > 0 && a > 0 && a^2 b + f < 0] *)
int6[a_, b_, f_] =
Integrate[1/(Sqrt[f + b*x^2]), {x, 1, a},
Assumptions -> {Element[{b, f}, Reals], a < 0}]
(* ConditionalExpression[(-ArcSinh[Sqrt[b/f]] +
ArcSinh[a Sqrt[b/f]])/Sqrt[b], (b >= 0 || a + Sqrt[-(f/b)] > 0) &&
f > 0 && b + f > 0] *)
nint[a_, b_, f_] :=
NIntegrate[1/(Sqrt[f + b*x^2]), {x, 1, a}, MaxRecursion -> 50]
Comparison with numerical integration indicates, that int1
is valid for all parameter values. (Didn't check it intensivly)
tab = (Table[
With[{a = RandomReal[{-3, 3}] // Rationalize[#, 10^-3] &,
b = RandomReal[{-3, 3}] // Rationalize[#, 10^-3] &,
f = RandomReal[{-3, 3}] // Rationalize[#, 10^-3] &}, {{a, b,
f}, nint[a, b,
f], {int1[a, b, f] // N}, {int2[a, b, f] //
N}, {int3[a, b, f] // N}, {int4[a, b, f] //
N}, {int5[a, b, f] // N}, {int6[a, b, f] // N}}], {10}] /.
Undefined -> {}) // Quiet // Chop // MatrixForm