dissecting how natural log math function works

Hi all,

just as the function shiftOut is replaced by the arduino environment with a simple while loop before being sent to the chip, does anyone know the breakdown of how the double log(double __x) (natural log function) works?

http://svn.savannah.nongnu.org/viewvc/trunk/avr-libc/libm/fplib/log.S?root=avr-libc&view=markup