I did not change anything. A bug report would be good, because just using the highest precision in all cases is what we originally did and that caused also compatibility issues. It would also prevent the use of SSE on all x86-64 platforms apart from Win64 as soon as you have a constant, because then the whole expression will suddenly have to be evaluated using extended precision (unless you start explicitly typecasting all of your constants to single/double), and in on all other platforms also have similar effects with expressions only containing single precision values and constants.