3. Bisection root-finding