> the implementation is a full 32-bit multiply using 16-bit limbs
> (note: the LCG constants listed here are wrong)
It's a buggy 24-bit multiply and the constants are accessed wrongly.
Look at the code https://www.qb64.org/forum/index.php?topic=1414.0:
The third MUL computes the same value as the first but it should be [RndA+2] * [RndVar] and not [RndA] * [RndVar] hence a=0fd43fdh instead of a=0343fdh. Also carries are not taken into account in the first two ADDs.
The addition of c is similarly buggy.