Brent's algorithm