Вероятно, это скорее опечатка, чем Thinko, но acos (A.B) - это угол, а не его косинус. Аналогично для пункта 2.
Вы можете вычислить грех по cos, используя sin ^ 2 + cos ^ 2 = 1. То есть sin = sqrt (1-cos * cos). Это будет дешевле, чем векторное выражение, которое вы используете, а также исключит специальные случаи для 0/180 градусов.