implicit double precision (a-h,o-z) parameter (ifreq=1000000) double complex d,c d = dcmplx(1.0, 0.1) call startwatch() do i=1,ifreq c = exp(d) enddo call checkwatch(seconds) print *,'c =', c print *,'seconds =', seconds PI = dacos(-1.d0) dreal = real(d) dcmpx = imag(d) call startwatch() do i=1,ifreq cmod = exp(dreal) ccos = cos(dcmpx) csin = sqrt(1-ccos*ccos) if (mod(int(dcmpx/PI),2).eq.1) csin = -csin creal = cmod*ccos cimag = cmod*csin enddo call checkwatch(seconds) print *,'c = (',creal,cimag,')' print *,'seconds =', seconds stop end