determinant method
Implementation
double determinant() =>
m12*m9*m6*m3 - m8*m13*m6*m3 - m12*m5*m10*m3 + m4*m13*m10*m3 +
m8*m5*m14*m3 - m4*m9*m14*m3 - m12*m9*m2*m7 + m8*m13*m2*m7 +
m12*m1*m10*m7 - m0*m13*m10*m7 - m8*m1*m14*m7 + m0*m9*m14*m7 +
m12*m5*m2*m11 - m4*m13*m2*m11 - m12*m1*m6*m11 + m0*m13*m6*m11 +
m4*m1*m14*m11 - m0*m5*m14*m11 - m8*m5*m2*m15 + m4*m9*m2*m15 +
m8*m1*m6*m15 - m0*m9*m6*m15 - m4*m1*m10*m15 + m0*m5*m10*m15;