Short question: should the resulting quaternion between rotation of two vectors (0, 0, 1) to (0, 0, -1) being a undefined values (nan)? Or this is a bug.
local v1 = vmath.vector3(0, 0, 1)
local v2 = vmath.vector3(0, 0, -1)
local rot = vmath.quat_from_to(v1, v2)
print(rot) -- vmath.quat(-nan, -nan, -nan, 0)