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