fn float_face_forward<F>( e1: &[F], e2: &[F], e3: &[F], ) -> Option<ArrayVec<F, { crate::VectorSize::MAX }>>where F: Float,
If dot(e2, e3) is negative, e1 returns, otherwise -e1.
dot(e2, e3)
e1
-e1