Где он повторно ошибается?
Ну не знаю -- я же не вижу всего вывода. Ясно только, что он ошибается чётное количество раз.
Надо же было выводить ту формулу (которую я, кстати, не знаю) примерно так. Пусть

-- расстояния от источника и от изображения до проекции точки

на горизонтальную ось и

-- острые углы с вершинами в точках

и

. Тогда внешние углы в соответствующих треугольниках

и

. С другой стороны,

, и если углы стремятся к нулю, то

и

. Следовательно,
