anchor.diff:   ! Reduce step size after a zero crossing
    !CH--  Put floor under ASTEP to keep it reasonable after many zero crossings
   
  -   IF( NINT( SIGN(1., DAI) ) /= NINT( SIGN(1., DAI1) ) ) ASTEP = MAX( 1.0E-4, 0.5*ASTEP )
  +   IF( NINT( SIGN(1.0_ReKi, DAI) ) /= NINT( SIGN(1.0_ReKi, DAI1) ) ) ASTEP = MAX( 1.0E-4, 0.5*ASTEP )
   
      AI   = AI + DELAI
      DAI1 = DELAI
  
positive.code: 
   ! Check for diverging CH and correct if necessary
  
  IF ( ABS( CH ) > 2. ) CH = SIGN( 2., CH )
  
  IF ( CH < 0.96*O%LOSS ) THEN
     A2 = 0.5*( 1 - SQRT( 1.0 - CH/O%LOSS ) )
  
negative.code:    O%Beddoes%FSPC(J,IBLADE) = 1.0
  ELSE
     TEMP = 2.*SQRT(ABS(O%Beddoes%FSP(J,IBLADE)/(O%Beddoes%AFE(J,IBLADE)-AOL1)))-1.
     O%Beddoes%FSP(J,IBLADE) = TEMP * TEMP * SIGN ( 1.0_ReKi, TEMP )
     IF ( O%Beddoes%FSP(J,IBLADE) >  1.0 ) O%Beddoes%FSP(J,IBLADE) =  1.0
     IF ( O%Beddoes%FSP(J,IBLADE) < -1.0 ) O%Beddoes%FSP(J,IBLADE) = -1.0
  
  