Question about quat_mul() function

Hi there!
When I was using quat_mul() function to acquire the rot difference between two orentation.I find the first componet “w” of the result is smaller than -1.I don’t know if it’s a precision problem or a function implementation problem.Thank for help!