The Quartus compiler reports the said error message at this line
constant LIMIT : float (5 downto -27) := 1E-12;
the constant is float type, why is it treated as an integer?
This constant is used only in if-statements and is compared to another float type variable.