https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108698
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Simpler testcase: template <typename T> decltype (T () * T () + 1.0) foo () { return T () * T () + 1.0; } void bar () { foo <float> (); foo <double> (); foo <long double> (); } The question is if the excess precision should be visible in the mangling in some way or not.