해당 코드에서 오차가 발생할만한 곳은 평균 계산하는 VI입니다.
지금 질문에서의 식은 평균이 0.25가 정확히 나온다는 가정하에 나와야하는데 이 평균을 계산하는 방식이 수식으로 계산하는 것이 아닌 사인과 코사인의 Y값의 평균을 샘플로 계산했기에 발생합니다.
신호 시뮬레이션 expressVI를 보시면 해당 시뮬레이션에서 나오는 그래프는 샘플 속도와 샘플 개수, 그리고 진동수에 따라 점들의 Y값이 정해지고 이러한 Y값들의 연결한 사인 및 코사인 그래프가 나오게 됩니다. 결국 엄청 확대해 보면 깔끔한 사인 그래프가 아닌 아주 미세하게 살짝 찌그러진 사인 그래프라고 볼 수 있죠.
공식에서는 주파수가 영향을 받지 않습니다. 그런데 저 코드에서는 주파수와 샘플 수, 샘플 속도에 의해 Y값에 영향이 가고 Y값을 평균을 내는 과정에서 정확한 0.25가 아닌 미세한 오차가 포함되어 있습니다. 그로인해 아크코사인 계산에서 60이 아닌 오차가 포함된 60.xxx혹은 59.xxx이 나오게 됩니다.