math: prevent divide by zero bugs