# [dc], 125 bytes

    15k?ddsk1-A 5^*sw1sn0[A 5^ln+_1^+ln1+dsnlw!<y]syr1<y1lk/*sz[si1[li*li1-dsi0<p]spli0<p]so0dsw[lzlw^lwlox/+lw1+dswA 2^!<b]dsbxp

Unlike the other dc answer, this works for *all* real `x` greater than or equal to 1 (`1 ≤ x`). Accurate to 4-5 places after the decimal.

I would have included a TIO link here, but for some reason this throws a segmentation fault with the version there (`dc 1.3`) whereas it does *not* with my local version (`dc 1.3.95`). 

### Explanation

As `dc` does not support raising numbers to non-integer exponents to calculate `x^(1/x)`, this takes advantage of the fact that:

[![Advantage][1]][1]

So, to calculate `ln(x)`, this also takes advantage of the fact that:

[![Advantage2][2]][2]

whose definite integral from `1 to (b = x)` is numerically-approximated in increments of `10^-5` using the following summation formula:

[![Summation Formula][3]][3].

The resulting sum is then multiplied by `1/x` to get `ln(x)/x`. `e^(ln(x)/x)` is then finally calculated using the `e^x` Maclaurin Series to 100 terms as follows:

[![e^x Maclaurin Series][4]][4].

This results in our relatively accurate output of `x^(1/x)`.

[dc]: https://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html


  [1]: https://i.sstatic.net/gxcG4.png
  [2]: https://i.sstatic.net/rtnCH.png
  [3]: https://i.sstatic.net/wuSbN.png
  [4]: https://i.sstatic.net/z0uKp.png