Math.log
представляет функцию логарифма, которая не определена для отрицательных чисел. Math.tan
, однако, представляет функцию тангенса, которая может возвращать отрицательные числа. Таким образом, если Math.tan
выходит к отрицательному числу, Math.log
сообщит вам, что его аргумент "вне домена", то есть логарифм для этого числа отсутствует.
Бьюсь об заклад, тот факт, что ваши входные данные случайные, означает, что при циклическом воспроизведении вы, скорее всего, получите эту ошибку, чем если бы вы просто запустили скрипт один раз. Если бы вы были циклом удаления, а затем запускали скрипт несколько раз, держу пари, что в конечном итоге вы получите эту ошибку.
Узнайте, почему ваша математика включает отрицательные числа, когда это не должно, и вы готовы пойти :))