(FPCore (a11 a22 a33 a44 a34 a43 a23 a32 a42 a24 a12 a21 a31 a41 a13 a14) :precision binary64 (+ (- (- (+ (+ (- (- (+ (+ (- (- (+ (+ (- (- (+ (+ (- (- (+ (+ (- (- (* (* (* a11 a22) a33) a44) (* (* (* a11 a22) a34) a43)) (* (* (* a11 a23) a32) a44)) (* (* (* a11 a23) a34) a42)) (* (* (* a11 a24) a32) a43)) (* (* (* a11 a24) a33) a42)) (* (* (* a12 a21) a33) a44)) (* (* (* a12 a21) a34) a43)) (* (* (* a12 a23) a31) a44)) (* (* (* a12 a23) a34) a41)) (* (* (* a12 a24) a31) a43)) (* (* (* a12 a24) a33) a41)) (* (* (* a13 a21) a32) a44)) (* (* (* a13 a21) a34) a42)) (* (* (* a13 a22) a31) a44)) (* (* (* a13 a22) a34) a41)) (* (* (* a13 a24) a31) a42)) (* (* (* a13 a24) a32) a41)) (* (* (* a14 a21) a32) a43)) (* (* (* a14 a21) a33) a42)) (* (* (* a14 a22) a31) a43)) (* (* (* a14 a22) a33) a41)) (* (* (* a14 a23) a31) a42)) (* (* (* a14 a23) a32) a41)))
(FPCore (a11 a22 a33 a44 a34 a43 a23 a32 a42 a24 a12 a21 a31 a41 a13 a14) :precision binary64 (+ (- (- (+ (+ (- (- (+ (+ (- (- (+ (+ (- (- (+ (+ (- (- (+ (+ (- (- (* (* (* a11 a22) a33) a44) (* (* (* a11 a22) a34) a43)) (* a44 (* (* a11 a23) a32))) (* (* a34 (* a11 a23)) a42)) (* a43 (* a32 (* a11 a24)))) (* a42 (* a33 (* a11 a24)))) (* a44 (* a33 (* a12 a21)))) (* a43 (* a34 (* a12 a21)))) (* a44 (* (* a23 a12) a31))) (* (* a34 (* a23 a12)) a41)) (* a43 (* a31 (* a24 a12)))) (* a41 (* a33 (* a24 a12)))) (* a44 (* a13 (* a32 a21)))) (* a42 (* a34 (* a21 a13)))) (* a44 (* a31 (* a22 a13)))) (* a41 (* a34 (* a22 a13)))) (* a42 (* a13 (* a24 a31)))) (* a41 (* a32 (* a24 a13)))) (* a43 (* a32 (* a21 a14)))) (* a42 (* a33 (* a21 a14)))) (* a43 (* a31 (* a22 a14)))) (* a41 (* a33 (* a22 a14)))) (* a42 (* a31 (* a23 a14)))) (* a41 (* a32 (* a23 a14)))))
double code(double a11, double a22, double a33, double a44, double a34, double a43, double a23, double a32, double a42, double a24, double a12, double a21, double a31, double a41, double a13, double a14) { return (((((((((((((((((((((((((a11 * a22) * a33) * a44) - (((a11 * a22) * a34) * a43)) - (((a11 * a23) * a32) * a44)) + (((a11 * a23) * a34) * a42)) + (((a11 * a24) * a32) * a43)) - (((a11 * a24) * a33) * a42)) - (((a12 * a21) * a33) * a44)) + (((a12 * a21) * a34) * a43)) + (((a12 * a23) * a31) * a44)) - (((a12 * a23) * a34) * a41)) - (((a12 * a24) * a31) * a43)) + (((a12 * a24) * a33) * a41)) + (((a13 * a21) * a32) * a44)) - (((a13 * a21) * a34) * a42)) - (((a13 * a22) * a31) * a44)) + (((a13 * a22) * a34) * a41)) + (((a13 * a24) * a31) * a42)) - (((a13 * a24) * a32) * a41)) - (((a14 * a21) * a32) * a43)) + (((a14 * a21) * a33) * a42)) + (((a14 * a22) * a31) * a43)) - (((a14 * a22) * a33) * a41)) - (((a14 * a23) * a31) * a42)) + (((a14 * a23) * a32) * a41); }
double code(double a11, double a22, double a33, double a44, double a34, double a43, double a23, double a32, double a42, double a24, double a12, double a21, double a31, double a41, double a13, double a14) { return (((((((((((((((((((((((((a11 * a22) * a33) * a44) - (((a11 * a22) * a34) * a43)) - (a44 * ((a11 * a23) * a32))) + ((a34 * (a11 * a23)) * a42)) + (a43 * (a32 * (a11 * a24)))) - (a42 * (a33 * (a11 * a24)))) - (a44 * (a33 * (a12 * a21)))) + (a43 * (a34 * (a12 * a21)))) + (a44 * ((a23 * a12) * a31))) - ((a34 * (a23 * a12)) * a41)) - (a43 * (a31 * (a24 * a12)))) + (a41 * (a33 * (a24 * a12)))) + (a44 * (a13 * (a32 * a21)))) - (a42 * (a34 * (a21 * a13)))) - (a44 * (a31 * (a22 * a13)))) + (a41 * (a34 * (a22 * a13)))) + (a42 * (a13 * (a24 * a31)))) - (a41 * (a32 * (a24 * a13)))) - (a43 * (a32 * (a21 * a14)))) + (a42 * (a33 * (a21 * a14)))) + (a43 * (a31 * (a22 * a14)))) - (a41 * (a33 * (a22 * a14)))) - (a42 * (a31 * (a23 * a14)))) + (a41 * (a32 * (a23 * a14))); }
real(8) function code(a11, a22, a33, a44, a34, a43, a23, a32, a42, a24, a12, a21, a31, a41, a13, a14) real(8), intent (in) :: a11 real(8), intent (in) :: a22 real(8), intent (in) :: a33 real(8), intent (in) :: a44 real(8), intent (in) :: a34 real(8), intent (in) :: a43 real(8), intent (in) :: a23 real(8), intent (in) :: a32 real(8), intent (in) :: a42 real(8), intent (in) :: a24 real(8), intent (in) :: a12 real(8), intent (in) :: a21 real(8), intent (in) :: a31 real(8), intent (in) :: a41 real(8), intent (in) :: a13 real(8), intent (in) :: a14 code = (((((((((((((((((((((((((a11 * a22) * a33) * a44) - (((a11 * a22) * a34) * a43)) - (((a11 * a23) * a32) * a44)) + (((a11 * a23) * a34) * a42)) + (((a11 * a24) * a32) * a43)) - (((a11 * a24) * a33) * a42)) - (((a12 * a21) * a33) * a44)) + (((a12 * a21) * a34) * a43)) + (((a12 * a23) * a31) * a44)) - (((a12 * a23) * a34) * a41)) - (((a12 * a24) * a31) * a43)) + (((a12 * a24) * a33) * a41)) + (((a13 * a21) * a32) * a44)) - (((a13 * a21) * a34) * a42)) - (((a13 * a22) * a31) * a44)) + (((a13 * a22) * a34) * a41)) + (((a13 * a24) * a31) * a42)) - (((a13 * a24) * a32) * a41)) - (((a14 * a21) * a32) * a43)) + (((a14 * a21) * a33) * a42)) + (((a14 * a22) * a31) * a43)) - (((a14 * a22) * a33) * a41)) - (((a14 * a23) * a31) * a42)) + (((a14 * a23) * a32) * a41) end function
real(8) function code(a11, a22, a33, a44, a34, a43, a23, a32, a42, a24, a12, a21, a31, a41, a13, a14) real(8), intent (in) :: a11 real(8), intent (in) :: a22 real(8), intent (in) :: a33 real(8), intent (in) :: a44 real(8), intent (in) :: a34 real(8), intent (in) :: a43 real(8), intent (in) :: a23 real(8), intent (in) :: a32 real(8), intent (in) :: a42 real(8), intent (in) :: a24 real(8), intent (in) :: a12 real(8), intent (in) :: a21 real(8), intent (in) :: a31 real(8), intent (in) :: a41 real(8), intent (in) :: a13 real(8), intent (in) :: a14 code = (((((((((((((((((((((((((a11 * a22) * a33) * a44) - (((a11 * a22) * a34) * a43)) - (a44 * ((a11 * a23) * a32))) + ((a34 * (a11 * a23)) * a42)) + (a43 * (a32 * (a11 * a24)))) - (a42 * (a33 * (a11 * a24)))) - (a44 * (a33 * (a12 * a21)))) + (a43 * (a34 * (a12 * a21)))) + (a44 * ((a23 * a12) * a31))) - ((a34 * (a23 * a12)) * a41)) - (a43 * (a31 * (a24 * a12)))) + (a41 * (a33 * (a24 * a12)))) + (a44 * (a13 * (a32 * a21)))) - (a42 * (a34 * (a21 * a13)))) - (a44 * (a31 * (a22 * a13)))) + (a41 * (a34 * (a22 * a13)))) + (a42 * (a13 * (a24 * a31)))) - (a41 * (a32 * (a24 * a13)))) - (a43 * (a32 * (a21 * a14)))) + (a42 * (a33 * (a21 * a14)))) + (a43 * (a31 * (a22 * a14)))) - (a41 * (a33 * (a22 * a14)))) - (a42 * (a31 * (a23 * a14)))) + (a41 * (a32 * (a23 * a14))) end function
public static double code(double a11, double a22, double a33, double a44, double a34, double a43, double a23, double a32, double a42, double a24, double a12, double a21, double a31, double a41, double a13, double a14) { return (((((((((((((((((((((((((a11 * a22) * a33) * a44) - (((a11 * a22) * a34) * a43)) - (((a11 * a23) * a32) * a44)) + (((a11 * a23) * a34) * a42)) + (((a11 * a24) * a32) * a43)) - (((a11 * a24) * a33) * a42)) - (((a12 * a21) * a33) * a44)) + (((a12 * a21) * a34) * a43)) + (((a12 * a23) * a31) * a44)) - (((a12 * a23) * a34) * a41)) - (((a12 * a24) * a31) * a43)) + (((a12 * a24) * a33) * a41)) + (((a13 * a21) * a32) * a44)) - (((a13 * a21) * a34) * a42)) - (((a13 * a22) * a31) * a44)) + (((a13 * a22) * a34) * a41)) + (((a13 * a24) * a31) * a42)) - (((a13 * a24) * a32) * a41)) - (((a14 * a21) * a32) * a43)) + (((a14 * a21) * a33) * a42)) + (((a14 * a22) * a31) * a43)) - (((a14 * a22) * a33) * a41)) - (((a14 * a23) * a31) * a42)) + (((a14 * a23) * a32) * a41); }
public static double code(double a11, double a22, double a33, double a44, double a34, double a43, double a23, double a32, double a42, double a24, double a12, double a21, double a31, double a41, double a13, double a14) { return (((((((((((((((((((((((((a11 * a22) * a33) * a44) - (((a11 * a22) * a34) * a43)) - (a44 * ((a11 * a23) * a32))) + ((a34 * (a11 * a23)) * a42)) + (a43 * (a32 * (a11 * a24)))) - (a42 * (a33 * (a11 * a24)))) - (a44 * (a33 * (a12 * a21)))) + (a43 * (a34 * (a12 * a21)))) + (a44 * ((a23 * a12) * a31))) - ((a34 * (a23 * a12)) * a41)) - (a43 * (a31 * (a24 * a12)))) + (a41 * (a33 * (a24 * a12)))) + (a44 * (a13 * (a32 * a21)))) - (a42 * (a34 * (a21 * a13)))) - (a44 * (a31 * (a22 * a13)))) + (a41 * (a34 * (a22 * a13)))) + (a42 * (a13 * (a24 * a31)))) - (a41 * (a32 * (a24 * a13)))) - (a43 * (a32 * (a21 * a14)))) + (a42 * (a33 * (a21 * a14)))) + (a43 * (a31 * (a22 * a14)))) - (a41 * (a33 * (a22 * a14)))) - (a42 * (a31 * (a23 * a14)))) + (a41 * (a32 * (a23 * a14))); }
def code(a11, a22, a33, a44, a34, a43, a23, a32, a42, a24, a12, a21, a31, a41, a13, a14): return (((((((((((((((((((((((((a11 * a22) * a33) * a44) - (((a11 * a22) * a34) * a43)) - (((a11 * a23) * a32) * a44)) + (((a11 * a23) * a34) * a42)) + (((a11 * a24) * a32) * a43)) - (((a11 * a24) * a33) * a42)) - (((a12 * a21) * a33) * a44)) + (((a12 * a21) * a34) * a43)) + (((a12 * a23) * a31) * a44)) - (((a12 * a23) * a34) * a41)) - (((a12 * a24) * a31) * a43)) + (((a12 * a24) * a33) * a41)) + (((a13 * a21) * a32) * a44)) - (((a13 * a21) * a34) * a42)) - (((a13 * a22) * a31) * a44)) + (((a13 * a22) * a34) * a41)) + (((a13 * a24) * a31) * a42)) - (((a13 * a24) * a32) * a41)) - (((a14 * a21) * a32) * a43)) + (((a14 * a21) * a33) * a42)) + (((a14 * a22) * a31) * a43)) - (((a14 * a22) * a33) * a41)) - (((a14 * a23) * a31) * a42)) + (((a14 * a23) * a32) * a41)
def code(a11, a22, a33, a44, a34, a43, a23, a32, a42, a24, a12, a21, a31, a41, a13, a14): return (((((((((((((((((((((((((a11 * a22) * a33) * a44) - (((a11 * a22) * a34) * a43)) - (a44 * ((a11 * a23) * a32))) + ((a34 * (a11 * a23)) * a42)) + (a43 * (a32 * (a11 * a24)))) - (a42 * (a33 * (a11 * a24)))) - (a44 * (a33 * (a12 * a21)))) + (a43 * (a34 * (a12 * a21)))) + (a44 * ((a23 * a12) * a31))) - ((a34 * (a23 * a12)) * a41)) - (a43 * (a31 * (a24 * a12)))) + (a41 * (a33 * (a24 * a12)))) + (a44 * (a13 * (a32 * a21)))) - (a42 * (a34 * (a21 * a13)))) - (a44 * (a31 * (a22 * a13)))) + (a41 * (a34 * (a22 * a13)))) + (a42 * (a13 * (a24 * a31)))) - (a41 * (a32 * (a24 * a13)))) - (a43 * (a32 * (a21 * a14)))) + (a42 * (a33 * (a21 * a14)))) + (a43 * (a31 * (a22 * a14)))) - (a41 * (a33 * (a22 * a14)))) - (a42 * (a31 * (a23 * a14)))) + (a41 * (a32 * (a23 * a14)))
function code(a11, a22, a33, a44, a34, a43, a23, a32, a42, a24, a12, a21, a31, a41, a13, a14) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(a11 * a22) * a33) * a44) - Float64(Float64(Float64(a11 * a22) * a34) * a43)) - Float64(Float64(Float64(a11 * a23) * a32) * a44)) + Float64(Float64(Float64(a11 * a23) * a34) * a42)) + Float64(Float64(Float64(a11 * a24) * a32) * a43)) - Float64(Float64(Float64(a11 * a24) * a33) * a42)) - Float64(Float64(Float64(a12 * a21) * a33) * a44)) + Float64(Float64(Float64(a12 * a21) * a34) * a43)) + Float64(Float64(Float64(a12 * a23) * a31) * a44)) - Float64(Float64(Float64(a12 * a23) * a34) * a41)) - Float64(Float64(Float64(a12 * a24) * a31) * a43)) + Float64(Float64(Float64(a12 * a24) * a33) * a41)) + Float64(Float64(Float64(a13 * a21) * a32) * a44)) - Float64(Float64(Float64(a13 * a21) * a34) * a42)) - Float64(Float64(Float64(a13 * a22) * a31) * a44)) + Float64(Float64(Float64(a13 * a22) * a34) * a41)) + Float64(Float64(Float64(a13 * a24) * a31) * a42)) - Float64(Float64(Float64(a13 * a24) * a32) * a41)) - Float64(Float64(Float64(a14 * a21) * a32) * a43)) + Float64(Float64(Float64(a14 * a21) * a33) * a42)) + Float64(Float64(Float64(a14 * a22) * a31) * a43)) - Float64(Float64(Float64(a14 * a22) * a33) * a41)) - Float64(Float64(Float64(a14 * a23) * a31) * a42)) + Float64(Float64(Float64(a14 * a23) * a32) * a41)) end
function code(a11, a22, a33, a44, a34, a43, a23, a32, a42, a24, a12, a21, a31, a41, a13, a14) return Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(Float64(a11 * a22) * a33) * a44) - Float64(Float64(Float64(a11 * a22) * a34) * a43)) - Float64(a44 * Float64(Float64(a11 * a23) * a32))) + Float64(Float64(a34 * Float64(a11 * a23)) * a42)) + Float64(a43 * Float64(a32 * Float64(a11 * a24)))) - Float64(a42 * Float64(a33 * Float64(a11 * a24)))) - Float64(a44 * Float64(a33 * Float64(a12 * a21)))) + Float64(a43 * Float64(a34 * Float64(a12 * a21)))) + Float64(a44 * Float64(Float64(a23 * a12) * a31))) - Float64(Float64(a34 * Float64(a23 * a12)) * a41)) - Float64(a43 * Float64(a31 * Float64(a24 * a12)))) + Float64(a41 * Float64(a33 * Float64(a24 * a12)))) + Float64(a44 * Float64(a13 * Float64(a32 * a21)))) - Float64(a42 * Float64(a34 * Float64(a21 * a13)))) - Float64(a44 * Float64(a31 * Float64(a22 * a13)))) + Float64(a41 * Float64(a34 * Float64(a22 * a13)))) + Float64(a42 * Float64(a13 * Float64(a24 * a31)))) - Float64(a41 * Float64(a32 * Float64(a24 * a13)))) - Float64(a43 * Float64(a32 * Float64(a21 * a14)))) + Float64(a42 * Float64(a33 * Float64(a21 * a14)))) + Float64(a43 * Float64(a31 * Float64(a22 * a14)))) - Float64(a41 * Float64(a33 * Float64(a22 * a14)))) - Float64(a42 * Float64(a31 * Float64(a23 * a14)))) + Float64(a41 * Float64(a32 * Float64(a23 * a14)))) end
function tmp = code(a11, a22, a33, a44, a34, a43, a23, a32, a42, a24, a12, a21, a31, a41, a13, a14) tmp = (((((((((((((((((((((((((a11 * a22) * a33) * a44) - (((a11 * a22) * a34) * a43)) - (((a11 * a23) * a32) * a44)) + (((a11 * a23) * a34) * a42)) + (((a11 * a24) * a32) * a43)) - (((a11 * a24) * a33) * a42)) - (((a12 * a21) * a33) * a44)) + (((a12 * a21) * a34) * a43)) + (((a12 * a23) * a31) * a44)) - (((a12 * a23) * a34) * a41)) - (((a12 * a24) * a31) * a43)) + (((a12 * a24) * a33) * a41)) + (((a13 * a21) * a32) * a44)) - (((a13 * a21) * a34) * a42)) - (((a13 * a22) * a31) * a44)) + (((a13 * a22) * a34) * a41)) + (((a13 * a24) * a31) * a42)) - (((a13 * a24) * a32) * a41)) - (((a14 * a21) * a32) * a43)) + (((a14 * a21) * a33) * a42)) + (((a14 * a22) * a31) * a43)) - (((a14 * a22) * a33) * a41)) - (((a14 * a23) * a31) * a42)) + (((a14 * a23) * a32) * a41); end
function tmp = code(a11, a22, a33, a44, a34, a43, a23, a32, a42, a24, a12, a21, a31, a41, a13, a14) tmp = (((((((((((((((((((((((((a11 * a22) * a33) * a44) - (((a11 * a22) * a34) * a43)) - (a44 * ((a11 * a23) * a32))) + ((a34 * (a11 * a23)) * a42)) + (a43 * (a32 * (a11 * a24)))) - (a42 * (a33 * (a11 * a24)))) - (a44 * (a33 * (a12 * a21)))) + (a43 * (a34 * (a12 * a21)))) + (a44 * ((a23 * a12) * a31))) - ((a34 * (a23 * a12)) * a41)) - (a43 * (a31 * (a24 * a12)))) + (a41 * (a33 * (a24 * a12)))) + (a44 * (a13 * (a32 * a21)))) - (a42 * (a34 * (a21 * a13)))) - (a44 * (a31 * (a22 * a13)))) + (a41 * (a34 * (a22 * a13)))) + (a42 * (a13 * (a24 * a31)))) - (a41 * (a32 * (a24 * a13)))) - (a43 * (a32 * (a21 * a14)))) + (a42 * (a33 * (a21 * a14)))) + (a43 * (a31 * (a22 * a14)))) - (a41 * (a33 * (a22 * a14)))) - (a42 * (a31 * (a23 * a14)))) + (a41 * (a32 * (a23 * a14))); end
code[a11_, a22_, a33_, a44_, a34_, a43_, a23_, a32_, a42_, a24_, a12_, a21_, a31_, a41_, a13_, a14_] := N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(a11 * a22), $MachinePrecision] * a33), $MachinePrecision] * a44), $MachinePrecision] - N[(N[(N[(a11 * a22), $MachinePrecision] * a34), $MachinePrecision] * a43), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(a11 * a23), $MachinePrecision] * a32), $MachinePrecision] * a44), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(a11 * a23), $MachinePrecision] * a34), $MachinePrecision] * a42), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(a11 * a24), $MachinePrecision] * a32), $MachinePrecision] * a43), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(a11 * a24), $MachinePrecision] * a33), $MachinePrecision] * a42), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(a12 * a21), $MachinePrecision] * a33), $MachinePrecision] * a44), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(a12 * a21), $MachinePrecision] * a34), $MachinePrecision] * a43), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(a12 * a23), $MachinePrecision] * a31), $MachinePrecision] * a44), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(a12 * a23), $MachinePrecision] * a34), $MachinePrecision] * a41), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(a12 * a24), $MachinePrecision] * a31), $MachinePrecision] * a43), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(a12 * a24), $MachinePrecision] * a33), $MachinePrecision] * a41), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(a13 * a21), $MachinePrecision] * a32), $MachinePrecision] * a44), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(a13 * a21), $MachinePrecision] * a34), $MachinePrecision] * a42), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(a13 * a22), $MachinePrecision] * a31), $MachinePrecision] * a44), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(a13 * a22), $MachinePrecision] * a34), $MachinePrecision] * a41), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(a13 * a24), $MachinePrecision] * a31), $MachinePrecision] * a42), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(a13 * a24), $MachinePrecision] * a32), $MachinePrecision] * a41), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(a14 * a21), $MachinePrecision] * a32), $MachinePrecision] * a43), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(a14 * a21), $MachinePrecision] * a33), $MachinePrecision] * a42), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(a14 * a22), $MachinePrecision] * a31), $MachinePrecision] * a43), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(a14 * a22), $MachinePrecision] * a33), $MachinePrecision] * a41), $MachinePrecision]), $MachinePrecision] - N[(N[(N[(a14 * a23), $MachinePrecision] * a31), $MachinePrecision] * a42), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(a14 * a23), $MachinePrecision] * a32), $MachinePrecision] * a41), $MachinePrecision]), $MachinePrecision]
code[a11_, a22_, a33_, a44_, a34_, a43_, a23_, a32_, a42_, a24_, a12_, a21_, a31_, a41_, a13_, a14_] := N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(N[(a11 * a22), $MachinePrecision] * a33), $MachinePrecision] * a44), $MachinePrecision] - N[(N[(N[(a11 * a22), $MachinePrecision] * a34), $MachinePrecision] * a43), $MachinePrecision]), $MachinePrecision] - N[(a44 * N[(N[(a11 * a23), $MachinePrecision] * a32), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(a34 * N[(a11 * a23), $MachinePrecision]), $MachinePrecision] * a42), $MachinePrecision]), $MachinePrecision] + N[(a43 * N[(a32 * N[(a11 * a24), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a42 * N[(a33 * N[(a11 * a24), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a44 * N[(a33 * N[(a12 * a21), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a43 * N[(a34 * N[(a12 * a21), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a44 * N[(N[(a23 * a12), $MachinePrecision] * a31), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(a34 * N[(a23 * a12), $MachinePrecision]), $MachinePrecision] * a41), $MachinePrecision]), $MachinePrecision] - N[(a43 * N[(a31 * N[(a24 * a12), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a41 * N[(a33 * N[(a24 * a12), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a44 * N[(a13 * N[(a32 * a21), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a42 * N[(a34 * N[(a21 * a13), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a44 * N[(a31 * N[(a22 * a13), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a41 * N[(a34 * N[(a22 * a13), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a42 * N[(a13 * N[(a24 * a31), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a41 * N[(a32 * N[(a24 * a13), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a43 * N[(a32 * N[(a21 * a14), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a42 * N[(a33 * N[(a21 * a14), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a43 * N[(a31 * N[(a22 * a14), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a41 * N[(a33 * N[(a22 * a14), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(a42 * N[(a31 * N[(a23 * a14), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(a41 * N[(a32 * N[(a23 * a14), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(a11 \cdot a22\right) \cdot a33\right) \cdot a44 - \left(\left(a11 \cdot a22\right) \cdot a34\right) \cdot a43\right) - \left(\left(a11 \cdot a23\right) \cdot a32\right) \cdot a44\right) + \left(\left(a11 \cdot a23\right) \cdot a34\right) \cdot a42\right) + \left(\left(a11 \cdot a24\right) \cdot a32\right) \cdot a43\right) - \left(\left(a11 \cdot a24\right) \cdot a33\right) \cdot a42\right) - \left(\left(a12 \cdot a21\right) \cdot a33\right) \cdot a44\right) + \left(\left(a12 \cdot a21\right) \cdot a34\right) \cdot a43\right) + \left(\left(a12 \cdot a23\right) \cdot a31\right) \cdot a44\right) - \left(\left(a12 \cdot a23\right) \cdot a34\right) \cdot a41\right) - \left(\left(a12 \cdot a24\right) \cdot a31\right) \cdot a43\right) + \left(\left(a12 \cdot a24\right) \cdot a33\right) \cdot a41\right) + \left(\left(a13 \cdot a21\right) \cdot a32\right) \cdot a44\right) - \left(\left(a13 \cdot a21\right) \cdot a34\right) \cdot a42\right) - \left(\left(a13 \cdot a22\right) \cdot a31\right) \cdot a44\right) + \left(\left(a13 \cdot a22\right) \cdot a34\right) \cdot a41\right) + \left(\left(a13 \cdot a24\right) \cdot a31\right) \cdot a42\right) - \left(\left(a13 \cdot a24\right) \cdot a32\right) \cdot a41\right) - \left(\left(a14 \cdot a21\right) \cdot a32\right) \cdot a43\right) + \left(\left(a14 \cdot a21\right) \cdot a33\right) \cdot a42\right) + \left(\left(a14 \cdot a22\right) \cdot a31\right) \cdot a43\right) - \left(\left(a14 \cdot a22\right) \cdot a33\right) \cdot a41\right) - \left(\left(a14 \cdot a23\right) \cdot a31\right) \cdot a42\right) + \left(\left(a14 \cdot a23\right) \cdot a32\right) \cdot a41
\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(a11 \cdot a22\right) \cdot a33\right) \cdot a44 - \left(\left(a11 \cdot a22\right) \cdot a34\right) \cdot a43\right) - a44 \cdot \left(\left(a11 \cdot a23\right) \cdot a32\right)\right) + \left(a34 \cdot \left(a11 \cdot a23\right)\right) \cdot a42\right) + a43 \cdot \left(a32 \cdot \left(a11 \cdot a24\right)\right)\right) - a42 \cdot \left(a33 \cdot \left(a11 \cdot a24\right)\right)\right) - a44 \cdot \left(a33 \cdot \left(a12 \cdot a21\right)\right)\right) + a43 \cdot \left(a34 \cdot \left(a12 \cdot a21\right)\right)\right) + a44 \cdot \left(\left(a23 \cdot a12\right) \cdot a31\right)\right) - \left(a34 \cdot \left(a23 \cdot a12\right)\right) \cdot a41\right) - a43 \cdot \left(a31 \cdot \left(a24 \cdot a12\right)\right)\right) + a41 \cdot \left(a33 \cdot \left(a24 \cdot a12\right)\right)\right) + a44 \cdot \left(a13 \cdot \left(a32 \cdot a21\right)\right)\right) - a42 \cdot \left(a34 \cdot \left(a21 \cdot a13\right)\right)\right) - a44 \cdot \left(a31 \cdot \left(a22 \cdot a13\right)\right)\right) + a41 \cdot \left(a34 \cdot \left(a22 \cdot a13\right)\right)\right) + a42 \cdot \left(a13 \cdot \left(a24 \cdot a31\right)\right)\right) - a41 \cdot \left(a32 \cdot \left(a24 \cdot a13\right)\right)\right) - a43 \cdot \left(a32 \cdot \left(a21 \cdot a14\right)\right)\right) + a42 \cdot \left(a33 \cdot \left(a21 \cdot a14\right)\right)\right) + a43 \cdot \left(a31 \cdot \left(a22 \cdot a14\right)\right)\right) - a41 \cdot \left(a33 \cdot \left(a22 \cdot a14\right)\right)\right) - a42 \cdot \left(a31 \cdot \left(a23 \cdot a14\right)\right)\right) + a41 \cdot \left(a32 \cdot \left(a23 \cdot a14\right)\right)
Results
Initial program 0.2
Taylor expanded in a13 around 0 0.2
Taylor expanded in a13 around 0 0.2
Final simplification0.2
herbie shell --seed 1
(FPCore (a11 a22 a33 a44 a34 a43 a23 a32 a42 a24 a12 a21 a31 a41 a13 a14)
:name "(a11*a22*a33*a44 - a11*a22*a34*a43 - a11*a23*a32*a44 + a11*a23*a34*a42 + a11*a24*a32*a43 - a11*a24*a33*a42 - a12*a21*a33*a44 + a12*a21*a34*a43 + a12*a23*a31*a44 - a12*a23*a34*a41 - a12*a24*a31*a43 + a12*a24*a33*a41 + a13*a21*a32*a44 - a13*a21*a34*a42 - a13*a22*a31*a44 + a13*a22*a34*a41 + a13*a24*a31*a42 - a13*a24*a32*a41 - a14*a21*a32*a43 + a14*a21*a33*a42 + a14*a22*a31*a43 - a14*a22*a33*a41 - a14*a23*a31*a42 + a14*a23*a32*a41)"
:precision binary64
:pre (and (and (and (and (and (and (and (and (and (and (and (and (and (and (and (and (<= -1000.0 a11) (<= a11 1000.0)) (and (<= -1000.0 a22) (<= a22 1000.0))) (and (<= -1000.0 a33) (<= a33 1000.0))) (and (<= -1000.0 a44) (<= a44 1000.0))) (and (<= -1000.0 a34) (<= a34 1000.0))) (and (<= -1000.0 a43) (<= a43 1000.0))) (and (<= -1000.0 a23) (<= a23 1000.0))) (and (<= -1000.0 a32) (<= a32 1000.0))) (and (<= -1000.0 a42) (<= a42 1000.0))) (and (<= -1000.0 a24) (<= a24 1000.0))) (and (<= -1000.0 a12) (<= a12 1000.0))) (and (<= -1000.0 a21) (<= a21 1000.0))) (and (<= -1000.0 a31) (<= a31 1000.0))) (and (<= -1000.0 a41) (<= a41 1000.0))) (and (<= -1000.0 a13) (<= a13 1000.0))) (and (<= -1000.0 a14) (<= a14 1000.0)))
(+ (- (- (+ (+ (- (- (+ (+ (- (- (+ (+ (- (- (+ (+ (- (- (+ (+ (- (- (* (* (* a11 a22) a33) a44) (* (* (* a11 a22) a34) a43)) (* (* (* a11 a23) a32) a44)) (* (* (* a11 a23) a34) a42)) (* (* (* a11 a24) a32) a43)) (* (* (* a11 a24) a33) a42)) (* (* (* a12 a21) a33) a44)) (* (* (* a12 a21) a34) a43)) (* (* (* a12 a23) a31) a44)) (* (* (* a12 a23) a34) a41)) (* (* (* a12 a24) a31) a43)) (* (* (* a12 a24) a33) a41)) (* (* (* a13 a21) a32) a44)) (* (* (* a13 a21) a34) a42)) (* (* (* a13 a22) a31) a44)) (* (* (* a13 a22) a34) a41)) (* (* (* a13 a24) a31) a42)) (* (* (* a13 a24) a32) a41)) (* (* (* a14 a21) a32) a43)) (* (* (* a14 a21) a33) a42)) (* (* (* a14 a22) a31) a43)) (* (* (* a14 a22) a33) a41)) (* (* (* a14 a23) a31) a42)) (* (* (* a14 a23) a32) a41)))