What's the difference among call_extern(), call_pure_extern(), call_intrin(), call_pure_intrin() and call_llvm_intrin()

When I read turorials, there are one example ( in https://docs.tvm.ai/tutorials/language/tensorize.html?highlight=call_extern) to use call_extern(),
There is another example (in https://docs.tvm.ai/tutorials/language/intrin_math.html?highlight=call_pure_extern) to use call_pure_extent() and call_pure_intrin()

I’m confused by these functions: call_extern(), call_pure_extern(), call_intrin(), call_pure_intrin() and call_llvm_intrin()? Can anyone help to give an explaination?
Thanks much