SM_SHIFT
#define SM_MASK ((1LL << SM_SHIFT) - 1)
y = (x >> SM_SHIFT) * sm + (((x & SM_MASK) * sm) >> SM_SHIFT);
sm = ((u_int64_t)m << SM_SHIFT) / 8 / machclk_freq;
m = (sm * 8 * machclk_freq) >> SM_SHIFT;
dx = ((y1 - y) << SM_SHIFT) / (isc->sm1 - isc->sm2);