Which functions commute with exponentials?

If we substitute $y=e^x$ we get $$ f(y)=e^{f(\log y)} $$ which means that you can choose arbitrary values for $f$ on $(-\infty,0]$, and the values for every positive argument will then be given by applying the above recursion a finite number of times.

On the other hand, every function defined in the above way will necessarily satisfy the functional equation.

If you want the solution to be continuous (or smooth) at $x=0$, the initial values need to fit together properly, but there's still lots of freedom to choose them. For example you can choose a smooth shape of the function for $f$ on $[-\frac12,\frac12]$ with the constraint that $f$ is positive on $(0,\frac12]$. Then the recurrence can be run backwards on to give values on $(-\infty,-\log2]$, and you can then choose a smooth bridging segment on $(-\log2,-\frac12)$.

If you want $f$ to be real analytic, considerably more finesse might be needed -- it is not clear to me offhand whether there are then any solutions other than the identity and $\exp^n$.


Note that for any $x\in\mathbb{R}$, there is a unique $n\in\mathbb{N}$ and $y\in (-\infty,0]$ such that $x=\exp^n(y)$ (where $\exp^n$ means you iterate the exponential function $n$ times): to find $n$ and $y$, take iterated logarithms of $x$ until you reach a nonpositive number; that nonpositive number is $y$, and $n$ is the number of logarithms you had to take. So now let $g:(-\infty,0]\to\mathbb{R}$ be any function at all and define $f(x)=\exp^n(g(y))$, where $n$ and $y$ satisfy $x=\exp^n(y)$. Then $f(\exp(x))=\exp(f(x))$ for all $x$, since $\exp(x)$ will have the same $y$ and its $n$ will be incremented by $1$.

So there are many many such functions $f$, one for every function $g:(-\infty,0]\to\mathbb{R}$. It is also not difficult to see that every such $f$ must be obtained in this way (since you can recover $g$ from $f$ as the restriction of $f$ to $(-\infty,0]$, and this determines all other values of $f$ since $f$ must commute with $\exp$).