anchor.diff:  !
         tempa = abs (delsq-dsq)
         tempb = sqrt (dtz*dtz+tempa*zsq)
  -      gam = tempa / (dsign(tempb, dtz)+dtz)
  +      gam = tempa / (sign(tempb, dtz)+dtz)
         temp = tol * (wsq+par*delsq) - gam * gam * wwsq
         If (temp >= zero) Then
            Do 310 i = 1, n
  
positive.code:       w (1) = one / piv (1)
        Do 280 i = 2, n
           temp = - tn (i-1) * w (i-1)
  280   w (i) = (dsign(one, temp)+temp) / piv (i)
        z (n) = w (n)
        Do 290 i = nm, 1, - 1
  290   z (i) = w (i) - tn (i) * z (i+1) / piv (i)
  
negative.code:       dtg = zero
        Do 200 i = 1, n
  200   dtg = dtg + d (i) * gg (i)
        scale = - sign (delta/sqrt(dsq), dtg)
        Do 210 i = 1, n
  210   d (i) = scale * d (i)
        Go To 370
  