anchor.diff:    real*8              :: a1,a2,a3,a4,a5
     real*8              :: bR1,bR2,bR3,bR4,bRF
   
  -  real*8              :: hammerHeight, hammerVelocity, hammerForce, lastHammerVelocity, compression, &
  +  real*8              :: hammerHeight(size(initY,1)), hammerVelocity(size(initY,1)), hammerForce(size(initY,1)), &
  +       lastHammerVelocity, compression, &
                                 stringForce(size(initY,1)), bendingPrefactor, tension
     integer, intent(in) :: N, nTimeSteps
     logical             :: hammerDone
   
     real*8, intent(out) :: bridgeY(3,nTimeSteps+1)
   
  -  real*8              :: F, y(N+1,3)
  +  real*8              :: F, y(N+1,3), vy(N+1)
     integer             :: i, t, localt, bridgeElement
   
     real*8              :: D, nu, b_R_denom, b_L_denom
  
positive.code:   hammerHeight = initialHammerHeight
    hammerVelocity = initialHammerVelocity
    hammerForce = 0
    hammerDone = .FALSE.
  
    !!! Constants
  
negative.code: !!!!!!!!!!!!!!!!! localt having a constant value of 3 (which
  !!!!!!!!!!!!!!!!! helps continuity as well.)
    F = 0
    vy = 0
  
      y(1,localt) = bL1*initY(1)+bL2*initY(2)+bL3*initY(3)+bL4*initY(1)+bLF*0
      y(2,localt) = a1*(initY(4)-initY(2)+2*initY(1)) + a2*(initY(3)+initY(1)) &
  