1756 {
1757 float m = matrix.M11;
1758 float m2 = matrix.M12;
1759 float m3 = matrix.M13;
1760 float m4 = matrix.M14;
1761 float m5 = matrix.M21;
1762 float m6 = matrix.M22;
1763 float m7 = matrix.M23;
1764 float m8 = matrix.M24;
1765 float m9 = matrix.M31;
1766 float m10 = matrix.M32;
1767 float m11 = matrix.M33;
1768 float m12 = matrix.M34;
1769 float m13 = matrix.M41;
1770 float m14 = matrix.M42;
1771 float m15 = matrix.M43;
1772 float m16 = matrix.M44;
1773 float num = m11 * m16 - m12 * m15;
1774 float num2 = m10 * m16 - m12 * m14;
1775 float num3 = m10 * m15 - m11 * m14;
1776 float num4 = m9 * m16 - m12 * m13;
1777 float num5 = m9 * m15 - m11 * m13;
1778 float num6 = m9 * m14 - m10 * m13;
1779 float num7 = m6 * num - m7 * num2 + m8 * num3;
1780 float num8 = 0f - (m5 * num - m7 * num4 + m8 * num5);
1781 float num9 = m5 * num2 - m6 * num4 + m8 * num6;
1782 float num10 = 0f - (m5 * num3 - m6 * num5 + m7 * num6);
1783 float num11 = 1f / (m * num7 + m2 * num8 + m3 * num9 + m4 * num10);
1784 result.M11 = num7 * num11;
1785 result.M21 = num8 * num11;
1786 result.M31 = num9 * num11;
1787 result.M41 = num10 * num11;
1788 result.M12 = (0f - (m2 * num - m3 * num2 + m4 * num3)) * num11;
1789 result.M22 = (m * num - m3 * num4 + m4 * num5) * num11;
1790 result.M32 = (0f - (m * num2 - m2 * num4 + m4 * num6)) * num11;
1791 result.M42 = (m * num3 - m2 * num5 + m3 * num6) * num11;
1792 float num12 = m7 * m16 - m8 * m15;
1793 float num13 = m6 * m16 - m8 * m14;
1794 float num14 = m6 * m15 - m7 * m14;
1795 float num15 = m5 * m16 - m8 * m13;
1796 float num16 = m5 * m15 - m7 * m13;
1797 float num17 = m5 * m14 - m6 * m13;
1798 result.M13 = (m2 * num12 - m3 * num13 + m4 * num14) * num11;
1799 result.M23 = (0f - (m * num12 - m3 * num15 + m4 * num16)) * num11;
1800 result.M33 = (m * num13 - m2 * num15 + m4 * num17) * num11;
1801 result.M43 = (0f - (m * num14 - m2 * num16 + m3 * num17)) * num11;
1802 float num18 = m7 * m12 - m8 * m11;
1803 float num19 = m6 * m12 - m8 * m10;
1804 float num20 = m6 * m11 - m7 * m10;
1805 float num21 = m5 * m12 - m8 * m9;
1806 float num22 = m5 * m11 - m7 * m9;
1807 float num23 = m5 * m10 - m6 * m9;
1808 result.M14 = (0f - (m2 * num18 - m3 * num19 + m4 * num20)) * num11;
1809 result.M24 = (m * num18 - m3 * num21 + m4 * num22) * num11;
1810 result.M34 = (0f - (m * num19 - m2 * num21 + m4 * num23)) * num11;
1811 result.M44 = (m * num20 - m2 * num22 + m3 * num23) * num11;
1812 }