public static unsafe void Intersects(ref BoundingBoxWide a, ref BoundingBoxWide b, out Vector<int> intersectionMask)
{
//If any minimum exceeds the other maximum, there can be no collision.
//On the flipside, if the all minimums are less than the opposing maximums, then they must be colliding.
var c1X = Vector.LessThanOrEqual(a.Min.X, b.Max.X);
var c1Y = Vector.LessThanOrEqual(a.Min.Y, b.Max.Y);
var c1Z = Vector.LessThanOrEqual(a.Min.Z, b.Max.Z);
var c2X = Vector.LessThanOrEqual(b.Min.X, a.Max.X);
var c2Y = Vector.LessThanOrEqual(b.Min.Y, a.Max.Y);
var c2Z = Vector.LessThanOrEqual(b.Min.Z, a.Max.Z);
var or1 = Vector.BitwiseAnd(c1X, c1Y);
var or2 = Vector.BitwiseAnd(c1Z, c2X);
var or3 = Vector.BitwiseAnd(c2Y, c2Z);
var or4 = Vector.BitwiseAnd(or1, or2);
intersectionMask = Vector.BitwiseAnd(or3, or4);
}