code 35084;
procedure SINCOSINT(X,SI,CI); value X; real X,SI,CI;
begin real ABSX,Z,F,G;
ABSX:= ABS(X);
if ABSX <= 4 then
begin real array A[0:10]; real Z2;
A[0] :=+2.7368706803630"+00; A[1]:=-1.1106314107894"+00;
A[2] :=+1.4176562194666"-01; A[3]:=-1.0252652579174"-02;
A[4] :=+4.6494615619880"-04; A[5]:=-1.4361730896642"-05;
A[6] :=+3.2093684948229"-07; A[7]:=-5.4251990770162"-09;
A[8] :=+7.1776288639895"-11; A[9]:=-7.6335493723482"-13;
A[10]:=+6.6679958346983"-15;
Z:= X / 4; Z2:= Z * Z; G:= Z2 +Z2 - 1;
SI:= Z * CHEPOLSUM(10,G,A);
A[0] :=+2.9659601400727"+00; A[1]:=-9.4297198341830"-01;
A[2] :=+8.6110342738169"-02; A[3]:=-4.7776084547139"-03;
A[4] :=+1.7529161205146"-04; A[5]:=-4.5448727803752"-06;
A[6] :=+8.7515839180060"-08; A[7]:=-1.2998699938109"-09;
A[8] :=+1.5338974898831"-11; A[9]:=-1.4724256070277"-13;
A[10]:=+1.1721420798429"-15;
CI:= .577215664901533 + LN(ABSX) - Z2 * CHEPOLSUM(10,G,A)
end else
begin real CX,SX;
SINCOSFG(X,F,G);
CX:= COS(X); SX:= SIN(X);
SI:= 1.570796326794897; if X<0 then SI:= -SI;
SI:= SI - F * CX - G * SX;
CI:= F * SX - G * CX
end
end SINCOSINT
eop