Due to precision issues, the cosine value calculated with `dot_v3v3(start, end)` can be outside the -1, 1 range causing `acosf` to return `nan(ind)`. Use `angle_signed_on_axis_v3v3_v3` instead. It returns more accurate values, deduplicates code, and avoids these `nan` issues.