In this question regarding SVD, it is explained why eigen decomposition of $ A^tA $ is not numerically stable compared to "direct SVD algorithms".
Since the former is the algorithm I'm most familiar with, my question is,
out of all algorithms for SVD out there (some of which can be found for example here), which "direct" algorithm would you use if you had to implement numerically stable SVD, using the fixed point arithmetics (say in c++, you only use shorts and can't use floats or doubles)