Maybe it's about time that you post the source code, unless anybody else have a qualified guess on the slowdown. For the two speeds summing, you shouldn't happen to do something like:
pos=pos+aspeed
pos=pos+bspeed
?
Or wasn't that what happens?
pos=pos+aspeed
pos=pos+bspeed
?
Or wasn't that what happens?