@Chris, I am curious what your program is all about, please share it
but here's a tip that may help, since your program uses many constants append the && suffix to your constants, that way they will be treated as 64-bit integers, without the suffix it's probably interpreted as a single or 16-bit integer
so besides declaring your variables as _Integer64 use the && suffix for the constants
so instead of rplus1 = c1plus1 MOD 1095 you have rplus1 = c1plus1 MOD 1095&&
-- edit -- you may also try integer division, so instead of v1 = 32336 * q + INT((15 * q + 765433 * R + 12084) / 25920)
you have v1 = 32336&& * q + (15&& * q + 765433&& * R + 12084&&) \ 25920&&
but here's a tip that may help, since your program uses many constants append the && suffix to your constants, that way they will be treated as 64-bit integers, without the suffix it's probably interpreted as a single or 16-bit integer
so besides declaring your variables as _Integer64 use the && suffix for the constants
so instead of rplus1 = c1plus1 MOD 1095 you have rplus1 = c1plus1 MOD 1095&&
-- edit -- you may also try integer division, so instead of v1 = 32336 * q + INT((15 * q + 765433 * R + 12084) / 25920)
you have v1 = 32336&& * q + (15&& * q + 765433&& * R + 12084&&) \ 25920&&