There are a few ways to do this. On the BeagleBone you have a built-in FPU which can do ex very efficiently. As I found out I think it can do this with the same computational cost as a floating point multiply.
That said, it's simple. Assuming "x" is the value read from the ADC, ranging from 0 to 1.0, you can apply this:
//Setup (pre-computed values)
float shape = 5.0; //Fairly nice pick for audio taper
float x1 = 1.0/(exp(shape)-1.0);
// This would be executed every time you read/process the pot value
// "x" is the adc value
y=exp(x*shape)-1.0)*x1;
This is the basis for a reverse-log audio taper pot function (if you want to see the log shape, just turn it on its side, swapping x&y variable).
Changing "shape" variable effectively changes the pot taper curve. Put this function in MATLAB or Octave if you want to generate data to overlay on pot taper functions from a specific audio pot datasheet. You could even use Bela to curve-trace a specific audio pot and reproduce the curve for multiple inputs using cheaper linear pots.