let x00 = m11 * m22 * m33
- m11 * m23 * m32
- m21 * m12 * m33
+ m21 * m13 * m32
+ m31 * m12 * m23
- m31 * m13 * m22;
let x10 = -m01 * m22 * m33
+ m01 * m23 * m32
+ m21 * m02 * m33
- m21 * m03 * m32
- m31 * m02 * m23
+ m31 * m03 * m22;
let x20 = m01 * m12 * m33
- m01 * m13 * m32
- m11 * m02 * m33
+ m11 * m03 * m32
+ m31 * m02 * m13
- m31 * m03 * m12;
let x30 = -m01 * m12 * m23
+ m01 * m13 * m22
+ m11 * m02 * m23
- m11 * m03 * m22
- m21 * m02 * m13
+ m21 * m03 * m12;
let x01 = -m10 * m22 * m33
+ m10 * m23 * m32
+ m20 * m12 * m33
- m20 * m13 * m32
- m30 * m12 * m23
+ m30 * m13 * m22;
let x11 = m00 * m22 * m33
- m00 * m23 * m32
- m20 * m02 * m33
+ m20 * m03 * m32
+ m30 * m02 * m23
- m30 * m03 * m22;
let x21 = -m00 * m12 * m33
+ m00 * m13 * m32
+ m10 * m02 * m33
- m10 * m03 * m32
- m30 * m02 * m13
+ m30 * m03 * m12;
let x31 = m00 * m12 * m23
- m00 * m13 * m22
- m10 * m02 * m23
+ m10 * m03 * m22
+ m20 * m02 * m13
- m20 * m03 * m12;
let x02 = m10 * m21 * m33
- m10 * m23 * m31
- m20 * m11 * m33
+ m20 * m13 * m31
+ m30 * m11 * m23
- m30 * m13 * m21;
let x12 = -m00 * m21 * m33
+ m00 * m23 * m31
+ m20 * m01 * m33
- m20 * m03 * m31
- m30 * m01 * m23
+ m30 * m03 * m21;
let x22 = m00 * m11 * m33
- m00 * m13 * m31
- m10 * m01 * m33
+ m10 * m03 * m31
+ m30 * m01 * m13
- m30 * m03 * m11;
let x03 = -m10 * m21 * m32
+ m10 * m22 * m31
+ m20 * m11 * m32
- m20 * m12 * m31
- m30 * m11 * m22
+ m30 * m12 * m21;
let x32 = -m00 * m11 * m23
+ m00 * m13 * m21
+ m10 * m01 * m23
- m10 * m03 * m21
- m20 * m01 * m13
+ m20 * m03 * m11;
let x13 = m00 * m21 * m32
- m00 * m22 * m31
- m20 * m01 * m32
+ m20 * m02 * m31
+ m30 * m01 * m22
- m30 * m02 * m21;
let x23 = -m00 * m11 * m32
+ m00 * m12 * m31
+ m10 * m01 * m32
- m10 * m02 * m31
- m30 * m01 * m12
+ m30 * m02 * m11;
let x33 = m00 * m11 * m22
- m00 * m12 * m21
- m10 * m01 * m22
+ m10 * m02 * m21
+ m20 * m01 * m12
- m20 * m02 * m11;
Some(array![
[x00 / det, x01 / det, x02 / det, x03 / det],
[x10 / det, x11 / det, x12 / det, x13 / det],
[x20 / det, x21 / det, x22 / det, x23 / det],
[x30 / det, x31 / det, x32 / det, x33 / det]
])