According to Section 6.3(i) of the OpenCL 1.1 specification, the first expression of the operator cannot be a float.
This is documented in Section 6.8 (g) in OpenCL 1.1 specification.