This patch is not actually up for review and meant to hold the remaining work done after https://reviews.llvm.org/D49876 but haven't submitted for review yet.
This patch contains:
- The implementation for log2(), log10(), and pow10(). Each of these functions takes a long _Accum and returns a value with 31 bits of precision and the value returned is less than one unit of precision away from the actual value of log() and pow() (that is error < 1/2^31).