I'm working on old exams in basic numerical modeling.
The problem is:
$2x \ - e^{-x}=0 $ has a root in the interval $(0, 1.6)$. Find it with an error less than $0.02$ using the Bisection method.
The theoretical basis (copies from Rao's Numerical Methods) says $|f(x_{mid})| \le \epsilon $ is the stopping criterion, which gives $r = 0.35$ and $|f(0.35)|=0.0046880897$.
The solution proposal says $r = 0.35625$ and $|f(0.35625)|=0.0122024760$. Why aren't the iterations stopped when $|f(0.35)|\le \epsilon=0.02$?


The error relates to $x$, that is ideally $|x-x_*|\simeq 0.2$ where $x_*$. However, the nature of the problem is that $x_*$ is not known so you have to use information that is available during the computation.
As a bracketing method you know that $x_*\in [a_n,b_n]$ in every step $n$, so that when you use the midpoint $x=c_n=\frac12(a_n+b_n)$, then you know that $$|x_*-c_n|\le r_n=\frac12(b_n-a_n).$$ Which means that you can stop when the interval reaches length $0.4$.
which gives the result as the midpoint of the sixth computed interval, so that $$|x_*-0.3625|\le0.0125<0.02$$
That $f$ has, among the evaluated point, the smallest value at $0.35$ only shows that the bisection method is not very "intelligent" and that other methods that also include the function values in the midpoint calculation, like the variants of regula falsi, will be faster.
The error in the book probably happened with a table as above that was produced without stopping criterion. Then the function values were compared manually with the error bound from bottom to top to find where the error bound is first violated, which happens from line 7 to line 6 with $c_7=0.35625$, without checking further.