I'm guessing that the reason this differs:
Code:
floor((25/1000)*srate+.5)
Is because 25/1000 is pre-calculated and stored in 64-bits, vs
Code:
floor((slider1/1000)*srate+.5);
slider1/1000 preserves the full results (80 bits in the FPU), then multiplies it by srate.
To test this theory, you can either rewrite it as:
Code:
floor((slider1*srate)/1000+.5);
Or you can try adding this near the top of your script (not recommended for production code though!)
Code:
//#eel-no-optimize:1
(This will remove all kinds of optimizations including value pre-calculation).