any particular reason to cache references to `Math.ceil` and `Math.abs`? I would probably just call it directly, property lookup is really fast on modern browsers and this might actually prevent some JIT optimization that we are unaware of, I also think that direct calls are easier to read/understand/update.