I have a similar question as [Precision of FindRoot][1] but slightly different. Consider getting an `InterpolatingFunction` `f[t]` from `NDSolve` then finding a root with `FindRoot`: Clear[f] fsol = NDSolve[{f''[t] - f'[t] + f[t] - 1 == 0, f[0] == 1, f'[0] == 1}, f, {t, 0, 20}, WorkingPrecision -> $MachinePrecision]; f[t_] = Evaluate[f[t] /. fsol]; Plot[f[SetPrecision[t, Infinity]], {t, 0, 20}, PlotRange -> All] t0 = t /. FindRoot[f[t] == 10, {t, 18}, WorkingPrecision -> 50] Precision@f[t0] Precision@t0 Output: [![f[t]][2]][2] 18.136956334574359755720315216764489747727661914414 11.6327 50. The precision of my root `t0` is equal to the `WorkingPrecision` I gave in `FindRoot`, despite that that is higher than the `Precision` of `f` itself, which came from `NDSolve`. My intuition about precision as a concept may be failing me here, but this does not seem right. My hunch is that if you use FindRoot to solve `f[t]==number`, then your answer for `t` should be no more precise than the precision of `f` at that `t`. Even if Mathematica is technically right (is it?), I feel it's failing my purposes. There's real error introduced by the imprecision of my `f[t]`. Once I get `t0` and plug it in (in my actual code it won't be back into `f[t]`!), I want it to reflect that `t0` is imprecise because it was solving for an `f[t]` that was imprecise. So I'd like answers to (a) Is Mathematica misusing precision here? And if not, then (b) Is there a way to make it reflect precision in a way that seems honest to me? [1]: https://mathematica.stackexchange.com/questions/118242/precision-of-findroot [2]: https://i.sstatic.net/hHTwl.png