I am interested in approximating the natural logarithm for implementation in an embedded system. I am aware of the Maclaurin series, but it has the issue of only covering numbers in the range (0; 2).
For my application, however, I need to be able to calculate relatively precise results for numbers in the range (0; 100]. Is there a more efficient way of doing so than decomposing each number greater than 2 into a product of factors in the (0; 2) range and summing up the results of the Maclaurin series for each factor?
That's basically how a computer might do it. We have $$ \ln (a\cdot 2^b) = \ln(a)+ b\cdot\ln(2) $$ So $\ln(2)$ is just a constant that the computer can remember, and $b$ is an integer, and $a$ is set to be between $0.5$ and $1$ in most standard floating point formats.