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