Why isn't 10^6 evaluated at compile time?

I didn’t tell the full story, it’s (almost) the same when calling with Int64 :wink: 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)