# File ms8body.rb, line 166
  def ms8(dt)
    if @nsteps == 0
      @a7 = acc
      yo8(dt)
    elsif @nsteps == 1
      @a6 = acc
      yo8(dt)
    elsif @nsteps == 2
      @a5 = acc
      yo8(dt)
    elsif @nsteps == 3
      @a4 = acc
      yo8(dt)
    elsif @nsteps == 4
      @a3 = acc
      yo8(dt)
    elsif @nsteps == 5
      @a2 = acc
      yo8(dt)
    elsif @nsteps == 6
      @a1 = acc
      yo8(dt)
    else
      a0 = acc
      j = (a0*1089 - @a1*2940 + @a2*4410 - @a3*4900 + @a4*3675 - @a5*1764 + 
           @a6*490 - @a7*60)/420
      s = (a0*938 - @a1*4014 + @a2*7911 - @a3*9490 + @a4*7380 - @a5*3618 +
           @a6*1019 - @a7*126)/180
      c = (a0*967 - @a1*5104 + @a2*11787 - @a3*15560 + 
          @a4*12725 - @a5*6432 + @a6*1849 - @a7*232)/120
      p = (a0*56 - @a1*333 + @a2*852 - @a3*1219 + @a4*1056 - @a5*555 +
           @a6*164 - @a7*21)/6
      x = (a0*46 - @a1*295 + @a2*810 - @a3*1235 +
           @a4*1130 - @a5*621 + @a6*190 - @a7*25)/6
      y = a0*4 - @a1*27 + @a2*78 - @a3*125 + @a4*120 - @a5*69 + @a6*22 - @a7*3
      z = a0 - @a1*7 + @a2*21 - @a3*35 + @a4*35 - @a5*21 + @a6*7 - @a7
      @pos += (vel+(a0+(j+(s+(c+(p+(x+y/8)/7)/6)/5)/4)/3)*dt/2)*dt
      @vel += (a0 +(j +(s+(c+(p+(x+(y+z/8)/7)/6)/5)/4)/3)/2)*dt
      @a7 = @a6
      @a6 = @a5
      @a5 = @a4
      @a4 = @a3
      @a3 = @a2
      @a2 = @a1
      @a1 = a0
    end
  end