code 35161;
real procedure BESS J1(X); value X; real X;
if X=0 then BESS J1:= 0 else
if ABS(X) < 8 then
begin real Z, Z2, AR, B0, B1, B2;
X:= X/8; Z:= 2*X*X - 1; Z2:= Z + Z;
comment COMPUTATION OF J1;
B1:= B2:= 0;
for AR:=
-.19554 "-15, +.1138572 "-13,
-.57774042 "-12, +.2528123664 "-10,
-.94242129816 "- 9, +.2949707007278 "- 7,
-.76175878054003 "- 6, +.158870192399321"- 4,
-.260444389348581"- 3, +.324027018268386"- 2,
-.291755248061542"- 1, +.177709117239728"- 0,
-.661443934134543"- 0, +.128799409885768"+ 1,
-.119180116054122"+ 1 do
begin B0:= Z2*B1-B2+AR;
B2:= B1; B1:= B0
end;
BESS J1:= X * (Z * B1 - B2 + .64835 87706 05265)
end else
begin real C, COSX, SINX, P1, Q1; integer SGNX;
SGNX:= SIGN(X); X:= ABS(X);
C:= .79788 45608 02865 / SQRT(X);
COSX:= COS(X-.70685 83470 57703"+1);
SINX:= SIN(X-.70685 83470 57703"+1);
BESS PQ1(X, P1, Q1);
BESS J1:= SGNX * C * (P1*SINX + Q1*COSX)
end BESS J1;
eop