Yes.. unfortunately that means you do need double work, but 0/0 is resolved because the range is always at least 2*epsilon.
ps. The point is not necessarily that this is the "best" approach, but it works and resolves the 0/0 and does away with requiring the original function.