Ok, it seems like gdb treats (long int) as 32 bits sometimes, depending on what program has been loaded possibly... so ignore that.
The problem is this:
1800 int yint = unfix(y);
If I change that to long int, then (modulo #xffffffffffffffff #x100000000) works correctly. But the division-by-zero can still be triggered if y==0, so a check needs to be added.
Ok, it seems like gdb treats (long int) as 32 bits sometimes, depending on what program has been loaded possibly... so ignore that.
The problem is this:
1800 int yint = unfix(y);
If I change that to long int, then (modulo #xffffffffffffffff #x100000000) works correctly. But the division-by-zero can still be triggered if y==0, so a check needs to be added.