'runge-kutta': function (tick) {
const {position, velocity, load, mass} = this;
const acc1 = requestVector(),
acc2 = requestVector(),
acc3 = requestVector(),
acc4 = requestVector(),
acc5 = requestVector(),
vel = requestVector(velocity);
acc1.setFromVector(load).scalarDivide(mass).scalarMultiply(tick).scalarDivide(2);
acc2.setFromVector(load).vectorAdd(acc1).scalarDivide(mass).scalarMultiply(tick).scalarDivide(2);
acc3.setFromVector(load).vectorAdd(acc2).scalarDivide(mass).scalarMultiply(tick).scalarDivide(2);
acc4.setFromVector(load).vectorAdd(acc3).scalarDivide(mass).scalarMultiply(tick).scalarDivide(2);
acc2.scalarMultiply(2);
acc3.scalarMultiply(2);
acc5.setFromVector(acc1).vectorAdd(acc2).vectorAdd(acc3).vectorAdd(acc4).scalarDivide(6);
vel.vectorAdd(acc5);
velocity.setFromVector(vel);
position.vectorAdd(vel.scalarMultiply(tick));
releaseVector(acc1, acc2, acc3, acc4, acc5, vel);
},
};