use Math.imul when present, polyfill if not, tests