On the page at: https://www.cut-the-knot.org/probability.shtmlI have some suggestions about the selection javascript.
1: When the start button is pressed, it fires off a new timer (which means a new thread), and a every time the timer triggers it creates a new one. Thus, if you press it many times in a row, you get many many timers calling the TimerResponse function. Thus, when you press it the first time, the name of the button should change to "Speed Up". . .just to point out that this feature is available.
2: When the Stop button is pressed, several calls to "Experiment" are already waiting in their own threads (if Start was pressed several times), so this button will reset the density array values only to have them immediately incremented again by the waiting function calls. This requires Stop to be pressed again once all those calls have been made to truly reset that density array.
Thus, the Experiment function requires the following line:
if (Auto) return;
or simply encapsulate the entire method contents with the if (Auto) {} conditional.
Hope this was helpful!