Hi,
I'm curious where you found or derived the values in the last column of this table,
https://github.com/jhalme/webaudio-mod-player/blob/91b7e730db23c26e27e350b5cb29a1634939202b/js/st3.js#L31
I'm writing some tracker routines myself, and found 3628 (or a multiple thereof) used instead of 3624 everywhere I looked.
See https://github.com/schismtracker/schismtracker/blob/master/player/tables.c for instance. It has 1016, 960, 907 as the last three values. Yours has 1016, 960, 906 (off by one).
I doubt you'd actually be able to perceive such a small error. But just curious how come? Did you derive these values yourself and is it the result of rounding?
Cheers,
Marcel