In that case it should be (1-margin)^2 < len2() < (1+margin)^2, or in code:
```
final float low = 1f-margin, high = 1f+margin, val = len2();
return val > (low * low) && val < (high * high);
```
However, in practice `margin` will be a very small number to avoid floating point error. So I guess it's actually bloating the method without much gain (and perhaps adding floating point errors, e.g. (1f-0.000000001f)^2 is something you want to avoid :D).

What about just skipping the square and add a note to the docs: `return Math.abs(len2() - 1f) < margin;`