Don't invoke rng() via func arg evaluation
Don't invoke rng() via func arg evaluation

C++ doesn’t guarantee that function arguments are evaluated in a
specific order, so calling rng() [or any of the random_xxx functions]
means that our expressions can vary between compilers. Pull all random
expressions out into separate statements to ensure that the sequence
for a given seed is reliably predictable across compilers.

(Naturally, this might break the behavior of existing seeds on some
compilers.)


Former-commit-id: dd5f7817cd64c9d051de364dfda2613294d6e7d3
darkbuck/Halide,darkbuck/Halide,Trass3r/Halide,darkbuck/Halide,darkbuck/Halide,darkbuck/Halide,Trass3r/Halide,darkbuck/Halide,Trass3r/Halide,Trass3r/Halide,Trass3r/Halide,darkbuck/Halide,Trass3r/Halide,Trass3r/Halide