FUNCTION e(x:real):real; VAR s,sn,a,z:real; i,m:integer; BEGIN m:=0; z:=x; WHILE abs(z)>1 DO BEGIN m:=m+1; z:=z/2 END; sn:=1; a:=1; i:=0; REPEAT i:=i+1; s:=sn; a:=a*z/i; sn:=s+a UNTIL sn=s; FOR i:= 1 TO m DO sn:=sqr(sn); e:=sn END;