Мне нужна правильно округленная (округление до ближайшей связи до четной) тригонометрической функции с одинарной точностью (ошибка 0,5 ulp).
Я могу использовать либо алгоритм CORDIC, либо один из методов полиномиальной аппроксимации, чтобы получить результат с более высокой точностью, скажем, с двойной точностью.
Правильно ли округлен результат до двойного числа с плавающей точкой? (Например, если реализовано в C с компилятором GCC.)
Нужно ли применять собственный метод округления для его правильного округления? Если да, могу ли я использовать меньше битов? Например, если я использую CORDIC, будет (примерно) 35 битов (32 бита + 3 бита для округления)?
Чем-то похож на (2). Насколько результат в более высокой точности должен быть точным? (Например, достаточно ли абсолютной ошибки 1e-15?)