7) A set of overloads or a function template for all combinations of arguments of arithmetic type not covered by 1-3). If any argument has integral type, it is cast to double. If any argument is longdouble, then the return type Promoted is also longdouble, otherwise the return type is always double.