code 35165;
procedure BESS PQ0(X, P0, Q0);
value X; real X, P0, Q0;
if X < 8 then
begin real B, COSX, SINX, J0X, Y0;
B:= SQRT(X) * 1.2533 14137 31550;
BESS Y01(X, Y0, J0X); J0X:= BESS J0(X);
X:= X-.78539 81633 97448; COSX:= COS(X); SINX:= SIN(X);
P0:= B * (Y0 * SINX + J0X * COSX);
Q0:= B * (Y0 * COSX - J0X * SINX)
end else
begin real X2, AR, B0, B1, B2, Y;
Y:= 8/X; X:= 2*Y*Y-1; X2:= X+X; B1:= B2:= 0;
for AR:=
-.10012 "-15, +.67481 "-15,
-.506903 "-14, +.4326596 "-13,
-.43045789 "-12, +.516826239 "-11,
-.7864091377 "-10, +.163064646352 "- 8,
-.5170594537606 "- 7, +.30751847875195 "- 5,
-.536522046813212"- 3 do
begin B0:= X2 * B1 - B2 + AR;
B2:= B1; B1:= B0
end;
P0:= X * B1 - B2 + .99946034934752;
comment COMPUTATION OF Q0;
B1:= B2:= 0;
for AR:=
-.60999 "-15, +.425523 "-14,
-.3336328 "-13, +.30061451 "-12,
-.320674742 "-11, +.4220121905 "-10,
-.72719159369 "- 9, +.1797245724797 "- 7,
-.74144984110606 "- 6, +.683851994261165"- 4
do
begin B0:= X2 * B1 - B2 + AR;
B2:= B1; B1:= B0
end;
Q0:=(X * B1 - B2 -.015555854605337) * Y
end BESS PQ0
eop