Is `exp` implemented with an LLVM intrinsic?


#1

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?
#2

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


#3

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.