я извиняюсь за то что выложил код кусками, естественно Math::Trig применяется, в таблице 3 колонки
1 колонка - исходные данные, 2 - ожидаемые /после округления/ 3 - то, что возвращает формула
plpm, жаль, что я давно уже школу закончил и забыл начисто геометрию.
Но, вроде как в доке написано, что
For the inverse sine operation, you may use the Math::Trig::asin
Встроенная функция sin в перле вернет отрицательное значение, то есть sin(4) = -0.756802495307928
Может из-за этого у вас так получается? И стоит попробовать asin и acos.