K (ngn/k), 11 bytes {r~?r:*'?x} Try it online! Port of chunes' factor answer.
make k-libc
`exp@x
`ln@x
pow:{`exp y*`ln x}