t> {  typedef long double type; };       template <> struct promote_args_0<float, double> {  typedef double type; };       template <> struct promote_args_0<double, float> {  typedef double type; };       template <> struct promote_args_0<float, long double> {  typedef long double type; };       template <> struct promote_args_0<long double, 