sqrt(square(i)) != abs(i)

So no, it’s not unconditionally correct either.