Вы меня не поняли.
Количество членов ряда нужно даже уменьшать.
x9 и x11 совершенно не нужны -- они никак не добавляют точности (если добавить if (x>pi/2) { y=pi-x; } else { y=x; } предобработку)
x7 -- нужно, иначе будет некрасиво около 1.57
Вот я поправил ваш макрос sin: sin_improved.zip
Выглядит так: sin_improved.png
Вот вычисление проблемного 3.14158. Видно, что правильный ответ получается с первых же членов ряда: sin_314158.png
К сожалению, отображение float в OwenLogic крайне неудачно сделано (показывает слишком мало цифр и никак не узнать все). Например, если вычислять sin(1.57), то с первых же членов ряда получается 1e0, а реально там чуть больше должно получаться на первых двух членах -- 1.004 (это при том, что синус больше 1 быть не должен %)
Разумеется, около pi всё равно будет колбасить (т.к. pi float'ом не представимо), но после поправки pi-x зона расколбаса гораздо уже. Сравните синий и красный графики. Синий ряд до x5, но с предобработкой. Красный -- до x11, но без.