By analogy:

function division_by_self(num=3):
   if num==0 return 1 else return num/num;

This function always returns 1 for ordinary use. Perfect for those feeding in a stream of data!

As you can see, it also 'naturally' extends across the case num=0, also returning 1.

The problem is that while there is a numerical progression across case 0 , there is not a semantic progression. This is the wrong result in terms of the semantic meaning of the function.