See the discussion in #149525. Currently, we create the float64 type directly, and then another cast is applied, which has two drawbacks. - It may lead to suboptimal precision for f128. - It introduces a redundant cast for f32.