@physicboy I saw your question in previous post. Here is more information for your reference.
This method is called Box-Muller Transform (Box–Muller transform - Wikipedia), it based on two set of uniform distribution random number to generate two set of gaussian distribution data.
Additionally, for the uniform distribution random generation, the formulas in B1 and B2 appear more complex because to truly generate a random number with a uniform distribution, the seed within the random() function needs to be between 0 and 1e15 (or 1e16?). During simulation, we typically use the simulation time as a pseudo seed. However, time alone does not fall randomly within the range of 0 to 1e15, so we have to multiply it. Nevertheless, a challenge arises because time can vary for example from 1us to 1s. Therefore, even if I multiply by 1e15, the result can still be significantly lower than 1e15 if for example in 1us range. This discrepancy leads to a non-uniform distribution of random numbers. Therefore, @mingche_joe cannot see a distribution looks like gaussian distribution. This is why a divider is employed to ensure that time always cycles within the range of 0 to 10, and the time seed can always within 0 to 1e15 to help random() function to generate a uniform distributed data.
The 1e15*random() in the seed is to help generate an offset in seed, and this offset can change everytime if .option seedclock is enable.