Intermediate Function Is Improperly Done
The formula for calculating the intermediate for a SQUAD interpolation is
exp((log(next * invQuat) + log(prev * invQuat)) / static_cast<T>(-4)) * curr;
The current code uses addition instead of multiplication (based on http://web.mit.edu/2.998/www/QuaternionReport1.pdf)