ドラフト三角関数をもっと早くする方法を教えてください。

function FSin(x:Extended):Extended;
const
 i3 = 1/6; { 1/3! }
 i5 = 1/120; { 1/5! }
 i7 = 1/5040; { 1/7! }
 i9 = 1/362880;{ 1/9! }
var
 x2:Extended;
begin
 x2 := Sqr(x);
 { result := x - x*x2 * i3 + x*x2*x2 * i5 - x*x2*x2*x2 * i7 + x*x2*x2*x2*x2 * i9 }

 result := x*(1-x2*(i3-x2*(i5-x2*(i7-x2*i9))));
end;