anchor.diff:       2    year.eq.1582.and.month.eq.10.and.day.lt.15.0d0) then
             B = 0.0d0
         else
  -          A = floor(dble(yrp)/100)
  +          A = floor(dble(yrp)/100.0d0)
             B = 2.0d0 - A + floor(A*0.25d0)
         endif
         if (yrp.lt.0) then
             C = floor(365.25d0*dble(yrp) - 0.75d0)
         else
  -          C = floor(365.25*dble(yrp))
  +          C = floor(365.25d0*dble(yrp))
         endif
         D = floor(30.6001d0*(dble(mop)+1.0d0))
  -      jd = B+C+D+day+1720994.5
  +      jd = B+C+D+day+1720994.5d0
         RETURN
         END
   
  
positive.code:               read(arg2,*) ndy
            endif
        elseif (ifmt.eq.2) then
            if (long.eq.0.and.opt.eq.1) then
                read(arg,*) yr1,mo1,dy1,yr2,mo2,dy2
            elseif (long.eq.0.and.opt.eq.2) then
                read(arg,*) yr1,mo1,dy1,ndy
            elseif (long.eq.1.and.opt.eq.1) then
                read(arg,*,end=2001) yr1,mo1,dy1,hr1,mn1,sc1,
       1                             yr2,mo2,dy2,hr2,mn2,sc2
            elseif (long.eq.1.and.opt.eq.2) then
  
negative.code:       REAL*8 dy1,dy2,ndy
        COMMON /DVARS/ yr1,mo1,yr2,mo2,dy1,dy2,ndy
        REAL*8 jd1,jd2,hr,mn,sc
        REAL*8 dyr,dmo,ddy
        call date2jd(jd1,yr1,mo1,dy1)
        if (opt.eq.1.or.opt.eq.3) then
            call date2jd(jd2,yr2,mo2,dy2)
            ndy = jd2 - jd1
            if (ndy.lt.30.0d0) then
                dyr = yr2-yr1
                dmo = mo2-mo1
                ddy = dy2-dy1
            endif
            if (opt.eq.1) then
                write(ans,9997) ndy
            elseif (opt.eq.3) then
                write(ans,9997) ndy*24.0d0*3600.0d0
            endif
        else
            jd2 = jd1 + ndy
            call jd2date(yr2,mo2,dy2,jd2)
  