2017 Volume 27 Issue 2 Pages 66-83
Binary powering (or repetitive squaring) is an efficient algorithm for computing xp, when p is a positive integer. The time complexity of the algorithm is O(log p). However, the problem of computing xp for a floating-point number x is an unstable problem, whatever the algorithm is used. An improved binary powering algorithm is proposed for accurately computing the power of floating-point numbers, for the case that x = 1 + d, (|d| ≪ 1). This algorithm is particularly useful for multilength floating-point arithmetic. Numerical experiments which confirm the validity of the algorithm are given.