Solution 1:

In Klambauer's Real Analysis pg. 101, he proves that if $f$ is a function on the open interval $(a,b)$ then there are most a countable number of points $x$ such that both $f_l'(x)$ and $f_r'(x)$ exist (including the infinite cases) but not equal.

I'll repeat his argument. Let $$A=\{x\in(a,b): \text{both }f_l'(x)\text{ and } f_r'(x) \text{ exist, but }f_l'(x)< f_r'(x)\}$$ $$B=\{x\in(a,b): \text{both }f_l'(x)\text{ and } f_r'(x) \text{ exist, but }f_l'(x)> f_r'(x)\}$$

For each $x\in A$, chose a rational number $r_1^{(x)}$ such that $f_l'(x)<r_1^{(x)}<f_r'(x)$. After this, pick two more rational numbers $r_2^{(x)}$ and $r_3^{(x)}$ such that the following hold: $$a<r_2^{(x)}<r^{(x)}_3<b$$ $$\text{whenever } r_2^{(x)}<y<x\text{ we can infer }\frac{f(y)-f(x)}{y-x}>r_1^{(x)}$$ $$\text{whenever } x<y<r_3^{(x)}\text{ we can infer }\frac{f(y)-f(x)}{y-x}<r_1^{(x)}$$ These inequalities imply that \begin{equation}f(y)-f(x)< r_1^{(x)}(y-x)\end{equation} whenever $y\neq x$ and $r_2^{(x)}<y<r_3^{(x)}$.

This process (with the Axiom of Choice) let's us construct a function $\varphi$ from $A$ into $\mathbb{Q}^3$ given by $\varphi(x)=(r_1^{(x)}, r_2^{(x)}, r_3^{(x)})$.

This function $\varphi$ is also injective. For suppose that $\varphi(x)=\varphi(y)$. This implies that $$(r_2^{(x)}, r_3^{(x)})=(r_2^{(y)}, r_3^{(y)})\,.$$ Recall that both $x$ and $y$ are within this open interval. Thus we can infer both of these inequalities $$f(y)-f(x)< r_1^{(x)}(y-x)$$ $$f(x)-f(y)< r_1^{(y)}(x-y)$$ Since we assumed that $r_1^{(x)}=r_1^{(y)}$, adding these inequalities gives $0<0$. Which is nonsense.

This shows that $A$ is countable. And by the same reasoning, $B$ is countable.