Why does the FILTER function have to have a real number for the output?
Because the loss of precision will result in the filter output value hanging at a value well away from the source. It's particularly bad at higher filter times. Meaning, if your input value was an analog input with a value of 2314, the loss of precision of the output may result in the output value stopping at 2245.