fix implementation of invSqrt()

The old invSqrt() implementation causes the estimate to diverge under
constant input. The problem was the line `long i = (long)&y;`, where 64
bits are read from a 32 bit number. Thanks to @tomas-c for spotting this
and pointing out the solution.

Fixes #17.