89      SUBROUTINE drotmg(DD1,DD2,DX1,DY1,DPARAM)
 
   96      DOUBLE PRECISION DD1,DD2,DX1,DY1
 
   99      DOUBLE PRECISION DPARAM(5)
 
  105      DOUBLE PRECISION DFLAG,DH11,DH12,DH21,DH22,DP1,DP2,DQ1,DQ2,DTEMP,
 
  106     $                 DU,GAM,GAMSQ,ONE,RGAMSQ,TWO,ZERO
 
  113      DATA zero,one,two/0.d0,1.d0,2.d0/
 
  114      DATA gam,gamsq,rgamsq/4096.d0,16777216.d0,5.9604645d-8/
 
  117      IF (dd1.LT.zero) 
THEN 
  131         IF (dp2.EQ.zero) 
THEN 
  141         IF (dabs(dq1).GT.dabs(dq2)) 
THEN 
  168            IF (dq2.LT.zero) 
THEN 
  192         IF (dd1.NE.zero) 
THEN 
  193            DO WHILE ((dd1.LE.rgamsq) .OR. (dd1.GE.gamsq))
 
  194               IF (dflag.EQ.zero) 
THEN 
  203               IF (dd1.LE.rgamsq) 
THEN 
  217         IF (dd2.NE.zero) 
THEN 
  218            DO WHILE ( (dabs(dd2).LE.rgamsq) .OR. (dabs(dd2).GE.gamsq) )
 
  219               IF (dflag.EQ.zero) 
THEN 
  228               IF (dabs(dd2).LE.rgamsq) 
THEN 
  242      IF (dflag.LT.zero) 
THEN 
  247      ELSE IF (dflag.EQ.zero) 
THEN