Floats in Erlang are specified to be double precision, so if you change that you will create a different language. I don’t know if anything in stdlib/kernel relies on this fact, but you are bound to run into issues in various places in erts.
I think that the best approach would probably be to try to avoid floats alltogether and use the double float emulation where needed.