FRAC_DIV
frac = (parent_rate * data) / FRAC_DIV;
rate_div = (rate * FRAC_DIV) / parent_rate;
f = rate_div % FRAC_DIV;
m = rate_div / FRAC_DIV;
frac = (parent_rate * f) / FRAC_DIV;