It should be deterministic.
According to the specification
20.2.2.16 Math.floor ( x )
Returns the greatest (closest to +∞) Number value that is not greater than x and is equal to a mathematical integer. If x is already an integer, the result is x.
- If x is NaN, the result is NaN.
- If x is +0, the result is +0.
- If x is −0, the result is −0.
- If x is +∞, the result is +∞.
- If x is −∞, the result is −∞.
- If x is greater than 0 but less than 1, the result is +0.
NOTE The value of Math.floor(x) is the same as the value of -Math.ceil(-x).
The non-determinism of some Math functions has to do with possible rounding issues when the underlying engine uses higher-precision numbers. That shouldn't be a factor here.
Update :
Division is also deterministic. Here the JS specification depends on the IEEE 754 specification. But that specification is deterministic. (Sorry no link, as the actual specification is paywalled.)
The non-determinisim is in the less common JS functions.