It will be changed into 16bit by avisynth itself if you pass float to the tool using vfw interface(e.g. ffmpeg, wavi, etc) without ”global OPT_AllowFloatAudio = True".
And generaly, you should avoid use of global variables if possible.
Thus, avs2pipe(mod) is better choice than wavi if you want to use float audio.