nir: Add an algebraic optimization for float->double->float

As part of this series, it removes the need for float->double conversion,
just to be able to print a single float.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
71 jobs for !6308 with upstream/printf
merge request