On Wed, 17 Jul 2024 15:11:36 GMT, Raffaello Giulietti <rgiulie...@openjdk.org> wrote:
>> Also, this avoids a test >> >> if (Long.compareUnsigned(x, s * s - 1) <= 0) { // benign over- >> and underflows >> s--; >> } > > Sorry, disregard the above as it doesn't work for x = 0. > Also, this avoids a test > > ``` > if (Long.compareUnsigned(x, s * s - 1) <= 0) { // benign over- > and underflows > s--; > } > ``` Yes, but... if `s == 0`, then `x == 0`, so `Long.compareUnsigned(x, s * s - 1) <= 0` and `s` is decremented... incorrectly. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/19710#discussion_r1681241965