Is `exp` implemented with an LLVM intrinsic?


I thought exp was now writen in pure Julia code. Is it still calling an LLVM intrinsic?

Something is making Julia think I am using imaginary numbers?

exp(x) is written in pure julia code, but the more general y^x is an LLVM function call (for x::Float64, y::Float64).


You can locate exp() quite easily like this:

julia> @which exp(1.0)
exp(x::T) where T<:Union{Float32, Float64} in Base.Math at special/exp.jl:75

which indeed shows that it is written in pure Julia.