First off, I'd try it without the timestep, and see what happens. If you still get artifacts, then maybe it's a vsync problem. If you're running in fullscreen, try enabling vsync, or else try running in a window.
This line of code could also be a culprit.
const int clampedSteps = std::min(steps, MAX_STEPS);
If MAX_STEPS is ever limiting steps, then you're going to get jittery movement.
What value for FIXED_TIMESTEP are you using?