I didn’t tell the full story, it’s (almost) the same when calling with Int64
I just assumed the usual call of the original function is a float…
julia> @btime f1(x) setup=(x=rand(Int64)) evals=1;
32.000 ns (0 allocations: 0 bytes)
julia> @btime f2(x) setup=(x=rand(Int64)) evals=1;
28.000 ns (0 allocations: 0 bytes)