それはそうと、それ、厳密な典拠は特定できていなくてちょっと困っています。 ISO/IEC 9899:1999 6.5.2.2.6 If the expression that denotes the called function has a type that does not include a prototype, the integer promotions are performed on each argument, and arguments that have type float are promoted to double. These are called the default argument promotions. で、これはプロトタイプでは ... で表現されているために「プロトタイプに含まれない式」になってしまった場合、その引数は float->double になってしまうようです。
問題は If the function is defined with a type that includes a prototype, and either the prototype ends with an ellipsis (, ...) or (略), the behavior is undefined. がなんのことやらさっぱり。