p:=100; N:=1000000; AssertAttribute(FldPr,"Precision",p); S := RealField(); x := S ! 3.0; x := Sqrt(x)-1.0; y := S ! 5.0; y := Sqrt(y); print("Digits=100"); s := Cputime(); for i := 1 to N do z:=x*y; end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=x/y; end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Sqrt(x); end for; 1000*(Cputime()-s)/N; N := 1000; s := Cputime(); for i := 1 to N do z:=Exp(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Log(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Sin(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Cos(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Arccos(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Arctan(x); end for; 1000*(Cputime()-s)/N; p:=1000; N:=1000; AssertAttribute(FldPr,"Precision",p); S := RealField(); x := S ! 3.0; x := Sqrt(x)-1.0; y := S ! 5.0; y := Sqrt(y); print("Digits=1000"); s := Cputime(); for i := 1 to N do z:=x*y; end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=x/y; end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Sqrt(x); end for; 1000*(Cputime()-s)/N; N := 100; s := Cputime(); for i := 1 to N do z:=Exp(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Log(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Sin(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Cos(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Arccos(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Arctan(x); end for; 1000*(Cputime()-s)/N; p:=10000; N:=100; AssertAttribute(FldPr,"Precision",p); S := RealField(); x := S ! 3.0; x := Sqrt(x)-1.0; y := S ! 5.0; y := Sqrt(y); print("Digits=10000"); s := Cputime(); for i := 1 to N do z:=x*y; end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=x/y; end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Sqrt(x); end for; 1000*(Cputime()-s)/N; N := 10; s := Cputime(); for i := 1 to N do z:=Exp(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Log(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Sin(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Cos(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Arccos(x); end for; 1000*(Cputime()-s)/N; s := Cputime(); for i := 1 to N do z:=Arctan(x); end for; 1000*(Cputime()-s)/N;