9#include <kernel/shape.hpp>
10#include <kernel/meshopt/base.hpp>
11#include <kernel/meshopt/rumpf_functional.hpp>
25 template<
typename DataType_>
26 class RumpfFunctionalUnrolled<DataType_,
27 Trafo::Standard::Mapping<Geometry::ConformalMesh<Shape::Simplex<3>, 3, DataType_>>> :
28 public RumpfFunctionalBase<DataType_>
32 typedef RumpfFunctionalBase<DataType_> BaseClass;
35 typedef DataType_ DataType;
37 typedef Shape::Simplex<3> ShapeType;
39 typedef Trafo::Standard::Mapping<Geometry::ConformalMesh<ShapeType, 3, DataType_>> TrafoType;
41 static constexpr int world_dim = TrafoType::world_dim;
43 static constexpr int shape_dim = ShapeType::dimension;
45 typedef typename Intern::TrafoFE<TrafoType>::Space TrafoSpace;
48 typedef Tiny::Matrix<DataType_, Shape::FaceTraits<ShapeType,0>::count, world_dim> Tx;
50 typedef Tiny::Vector<DataType_, Shape::FaceTraits<ShapeType,0>::count*world_dim> Tgradh;
53 typedef Tiny::Matrix<DataType_, shape_dim, world_dim> TgradR;
56 typedef typename TrafoType::template Evaluator<ShapeType, DataType>::Type TrafoEvaluator;
58 typedef typename TrafoSpace::template Evaluator<TrafoEvaluator>::Type SpaceEvaluator;
62 const int _exponent_det;
64 const bool _compute_frobenius;
66 const bool _compute_cof;
68 const bool _compute_det;
74 explicit RumpfFunctionalUnrolled(
75 const DataType fac_frobenius_,
76 const DataType fac_det_,
77 const DataType fac_cof_,
78 const DataType fac_reg_,
79 const int exponent_det_) :
80 BaseClass( fac_frobenius_,
82 fac_det_*(Math::
sqrt( Math::
sqr(fac_reg_) + DataType(1) )*Math::
pow( DataType(1) + Math::
sqrt(Math::
sqr(fac_reg_) + DataType(1)), DataType(exponent_det_))),
85 _exponent_det(exponent_det_),
86 _compute_frobenius( (fac_frobenius_ > DataType(0)) ),
87 _compute_cof( (fac_cof_ > 0) ),
88 _compute_det( (fac_det_ > 0) )
90 XASSERTM(exponent_det_ == 1 || exponent_det_ == 2,
"exponent_det must be 1 or 2!");
100 return "RumpfFunctionalUnrolled<"+ShapeType::name()+
">";
108 const Index pad_width(30);
109 return name() +
":" + BaseClass::info() + String(
"\nexponent_det").pad_back(pad_width,
'.')
110 + String(
": ") +
stringify(_exponent_det);
116 void eval_fval_grad(DataType& fval, Tx& grad,
const TgradR& DOXY(mat_tensor),
const TrafoEvaluator& DOXY(trafo_eval),
const SpaceEvaluator& DOXY(space_eval),
const Tx& x,
const DataType& h)
119 grad.format(DataType(0));
121 DataType fval_frobenius(0);
122 DataType fval_cof(0);
123 DataType fval_det(0);
124 DataType fval_rec_det(0);
126 if(_compute_frobenius)
128 fval_frobenius = this->_fac_frobenius*compute_frobenius_part(x,h);
129 add_grad_frobenius_part(grad, x, h);
134 fval_cof = this->_fac_cof*compute_cof_part(x,h);
135 add_grad_cof_part(grad, x, h);
140 if(_exponent_det == 1)
142 fval_det = this->_fac_det*compute_det_1_part(x,h);
143 fval_rec_det = this->_fac_rec_det*compute_rec_det_1_part(x,h);
144 add_grad_det_1_part(grad, x, h);
145 add_grad_rec_det_1_part(grad, x, h);
149 fval_det = this->_fac_det*compute_det_2_part(x,h);
150 fval_rec_det = this->_fac_rec_det*compute_rec_det_2_part(x,h);
151 add_grad_det_2_part(grad, x, h);
152 add_grad_rec_det_2_part(grad, x, h);
156 fval = fval_frobenius + fval_cof + fval_det + fval_rec_det;
191 void eval_fval_cellwise(DataType& fval,
const TgradR& DOXY(mat_tensor),
const TrafoEvaluator& DOXY(trafo_eval),
const SpaceEvaluator& DOXY(space_eval),
const Tx& x,
const DataType& h, DataType& fval_frobenius, DataType& fval_cof, DataType& fval_det)
194 fval_frobenius = DataType(0);
195 fval_cof = DataType(0);
196 fval_det = DataType(0);
198 if(_compute_frobenius)
200 fval_frobenius = this->_fac_frobenius*compute_frobenius_part(x,h);
205 fval_cof = this->_fac_cof*compute_cof_part(x,h);
210 if(_exponent_det == 1)
212 fval_det = this->_fac_det*compute_det_1_part(x,h);
213 fval_det += this->_fac_rec_det*compute_rec_det_1_part(x,h);
217 fval_det = this->_fac_det*compute_det_2_part(x,h);
218 fval_det += this->_fac_rec_det*compute_rec_det_2_part(x,h);
222 fval = fval_frobenius + fval_cof + fval_det;
231 void NOINLINE add_grad_h_part(Tx& grad,
const TgradR& DOXY(mat_tensor),
const TrafoEvaluator& DOXY(trafo_eval),
const SpaceEvaluator& DOXY(space_eval),
const Tx& x,
const DataType& h,
const Tgradh& grad_h)
234 DataType frobenius_der_h(0);
235 DataType cof_der_h(0);
236 DataType det_der_h(0);
237 DataType rec_det_der_h(0);
239 if(_compute_frobenius)
241 frobenius_der_h = this->_fac_frobenius*compute_frobenius_der_h_part(x,h);
246 cof_der_h = this->_fac_cof*compute_cof_der_h_part(x,h);
251 if(_exponent_det == 1)
253 det_der_h = this->_fac_det * compute_det_1_der_h_part(x,h);
254 rec_det_der_h = this->_fac_rec_det * compute_rec_det_1_der_h_part(x,h);
258 det_der_h = this->_fac_det * compute_det_2_der_h_part(x,h);
259 rec_det_der_h = this->_fac_rec_det * compute_rec_det_2_der_h_part(x,h);
264 DataType der_h(frobenius_der_h + cof_der_h + det_der_h + rec_det_der_h);
271 for(
int i(0); i < Tx::m; ++i)
273 for(
int d(0); d < Tx::n; ++d)
275 grad(i,d) += der_h*grad_h(i*Tx::n + d);
284 DataType NOINLINE compute_frobenius_part(
const Tx& x,
const DataType& h)
286 DataType fval_frobenius_part(0);
287 fval_frobenius_part = Math::pow(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)),DataType(2))/(h*h*h*h)/DataType(4);
288 return fval_frobenius_part;
294 DataType NOINLINE compute_cof_part(
const Tx& x,
const DataType& h)
296 DataType fval_cof_part (0);
297 fval_cof_part = Math::pow(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)),DataType(2))*Math::pow(h,-DataType(8));
298 return fval_cof_part ;
304 DataType NOINLINE compute_det_1_part(
const Tx& x,
const DataType& h)
306 DataType fval_det_1_part(0);
307 fval_det_1_part = -Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3);
308 return fval_det_1_part;
313 DataType NOINLINE compute_det_2_part(
const Tx& x,
const DataType& h)
315 DataType fval_det_2_part(0);
316 fval_det_2_part = DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h);
317 return fval_det_2_part;
323 DataType NOINLINE compute_rec_det_1_part(
const Tx& x,
const DataType& h)
325 DataType fval_rec_det_1_part(0);
326 fval_rec_det_1_part = DataType(1)/(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)));
327 return fval_rec_det_1_part;
333 DataType NOINLINE compute_rec_det_2_part(
const Tx& x,
const DataType& h)
335 DataType fval_rec_det_2_part(0);
336 fval_rec_det_2_part = Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2));
337 return fval_rec_det_2_part;
342 DataType NOINLINE compute_frobenius_der_h_part(
const Tx& x,
const DataType& h)
344 DataType frobenius_der_h_part(0);
345 frobenius_der_h_part = DataType(6)*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h)-Math::pow(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)),DataType(2))/(h*h*h*h*h);
346 return frobenius_der_h_part;
352 DataType NOINLINE compute_cof_der_h_part(
const Tx& x,
const DataType& h)
354 DataType cof_der_h_part (0);
355 cof_der_h_part = DataType(24)*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))/(h*h*h*h*h)-DataType(8)*Math::pow(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)),DataType(2))*Math::pow(h,-DataType(9));
356 return cof_der_h_part ;
362 DataType NOINLINE compute_det_1_der_h_part(
const Tx& x,
const DataType& h)
364 DataType det_1_der_h_part(0);
365 det_1_der_h_part = Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h);
366 return det_1_der_h_part;
371 DataType NOINLINE compute_det_2_der_h_part(
const Tx& x,
const DataType& h)
373 DataType det_2_der_h_part(0);
374 det_2_der_h_part = -DataType(12)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))*Math::pow(h,-DataType(7));
375 return det_2_der_h_part;
381 DataType NOINLINE compute_rec_det_1_der_h_part(
const Tx& x,
const DataType& h)
383 DataType rec_det_1_der_h_part(0);
384 rec_det_1_der_h_part = -Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h)-DataType(6)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))*Math::pow(h,-DataType(7)));
385 return rec_det_1_der_h_part;
391 DataType NOINLINE compute_rec_det_2_der_h_part(
const Tx& x,
const DataType& h)
393 DataType rec_det_2_der_h_part(0);
394 rec_det_2_der_h_part = -DataType(2)*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h)-DataType(6)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))*Math::pow(h,-DataType(7)));
395 return rec_det_2_der_h_part;
401 void NOINLINE add_grad_frobenius_part(Tx& grad_frobenius_part,
const Tx& x,
const DataType& h)
403 grad_frobenius_part(0,0) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(-DataType(6)*x(0,0)+DataType(2)*x(1,0)+DataType(2)*x(2,0)+DataType(2)*x(3,0))/DataType(2);
405 grad_frobenius_part(0,1) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(-DataType(6)*x(0,1)+DataType(2)*x(1,1)+DataType(2)*x(2,1)+DataType(2)*x(3,1))/DataType(2);
407 grad_frobenius_part(0,2) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(-DataType(6)*x(0,2)+DataType(2)*x(1,2)+DataType(2)*x(2,2)+DataType(2)*x(3,2))/DataType(2);
409 grad_frobenius_part(1,0) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(DataType(2)*x(0,0)-DataType(6)*x(1,0)+DataType(2)*x(2,0)+DataType(2)*x(3,0))/DataType(2);
411 grad_frobenius_part(1,1) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(DataType(2)*x(0,1)-DataType(6)*x(1,1)+DataType(2)*x(2,1)+DataType(2)*x(3,1))/DataType(2);
413 grad_frobenius_part(1,2) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(DataType(2)*x(0,2)-DataType(6)*x(1,2)+DataType(2)*x(2,2)+DataType(2)*x(3,2))/DataType(2);
415 grad_frobenius_part(2,0) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(DataType(2)*x(0,0)+DataType(2)*x(1,0)-DataType(6)*x(2,0)+DataType(2)*x(3,0))/DataType(2);
417 grad_frobenius_part(2,1) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(DataType(2)*x(0,1)+DataType(2)*x(1,1)-DataType(6)*x(2,1)+DataType(2)*x(3,1))/DataType(2);
419 grad_frobenius_part(2,2) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(DataType(2)*x(0,2)+DataType(2)*x(1,2)-DataType(6)*x(2,2)+DataType(2)*x(3,2))/DataType(2);
421 grad_frobenius_part(3,0) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(DataType(2)*x(0,0)+DataType(2)*x(1,0)+DataType(2)*x(2,0)-DataType(6)*x(3,0))/DataType(2);
423 grad_frobenius_part(3,1) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(DataType(2)*x(0,1)+DataType(2)*x(1,1)+DataType(2)*x(2,1)-DataType(6)*x(3,1))/DataType(2);
425 grad_frobenius_part(3,2) += this->_fac_frobenius*(DataType(6)*h*h-DataType(3)*Math::sqr(x(0,0))+DataType(2)*x(0,0)*x(1,0)+DataType(2)*x(0,0)*x(2,0)+DataType(2)*x(0,0)*x(3,0)-DataType(3)*Math::sqr(x(0,1))+DataType(2)*x(0,1)*x(1,1)+DataType(2)*x(0,1)*x(2,1)+DataType(2)*x(0,1)*x(3,1)-DataType(3)*Math::sqr(x(0,2))+DataType(2)*x(0,2)*x(1,2)+DataType(2)*x(0,2)*x(2,2)+DataType(2)*x(0,2)*x(3,2)-DataType(3)*Math::sqr(x(1,0))+DataType(2)*x(1,0)*x(2,0)+DataType(2)*x(1,0)*x(3,0)-DataType(3)*Math::sqr(x(1,1))+DataType(2)*x(1,1)*x(2,1)+DataType(2)*x(1,1)*x(3,1)-DataType(3)*Math::sqr(x(1,2))+DataType(2)*x(1,2)*x(2,2)+DataType(2)*x(1,2)*x(3,2)-DataType(3)*Math::sqr(x(2,0))+DataType(2)*x(2,0)*x(3,0)-DataType(3)*Math::sqr(x(2,1))+DataType(2)*x(2,1)*x(3,1)-DataType(3)*Math::sqr(x(2,2))+DataType(2)*x(2,2)*x(3,2)-DataType(3)*Math::sqr(x(3,0))-DataType(3)*Math::sqr(x(3,1))-DataType(3)*Math::sqr(x(3,2)))/(h*h*h*h)*(DataType(2)*x(0,2)+DataType(2)*x(1,2)+DataType(2)*x(2,2)-DataType(6)*x(3,2))/DataType(2);
431 void NOINLINE add_grad_cof_part(Tx& grad_cof_part,
const Tx& x,
const DataType& h)
433 grad_cof_part(0,0) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(-DataType(4)*x(0,0)*Math::sqr(x(1,1))+DataType(4)*x(0,0)*x(1,1)*x(2,1)+DataType(4)*x(0,0)*x(1,1)*x(3,1)-DataType(4)*x(0,0)*Math::sqr(x(1,2))+DataType(4)*x(0,0)*x(1,2)*x(2,2)+DataType(4)*x(0,0)*x(1,2)*x(3,2)-DataType(4)*x(0,0)*Math::sqr(x(2,1))+DataType(4)*x(0,0)*x(2,1)*x(3,1)-DataType(4)*x(0,0)*Math::sqr(x(2,2))+DataType(4)*x(0,0)*x(2,2)*x(3,2)-DataType(4)*x(0,0)*Math::sqr(x(3,1))-DataType(4)*x(0,0)*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(2,2)*x(3,0)*x(3,2));
435 grad_cof_part(0,1) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(DataType(4)*x(0,0)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(3,0)*x(3,1)-DataType(4)*x(0,1)*Math::sqr(x(1,0))+DataType(4)*x(0,1)*x(1,0)*x(2,0)+DataType(4)*x(0,1)*x(1,0)*x(3,0)-DataType(4)*x(0,1)*Math::sqr(x(1,2))+DataType(4)*x(0,1)*x(1,2)*x(2,2)+DataType(4)*x(0,1)*x(1,2)*x(3,2)-DataType(4)*x(0,1)*Math::sqr(x(2,0))+DataType(4)*x(0,1)*x(2,0)*x(3,0)-DataType(4)*x(0,1)*Math::sqr(x(2,2))+DataType(4)*x(0,1)*x(2,2)*x(3,2)-DataType(4)*x(0,1)*Math::sqr(x(3,0))-DataType(4)*x(0,1)*Math::sqr(x(3,2))+DataType(4)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(2,2)*x(3,1)*x(3,2));
437 grad_cof_part(0,2) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(DataType(4)*x(0,0)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(3,0)*x(3,2)+DataType(4)*x(0,1)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(3,1)*x(3,2)-DataType(4)*x(0,2)*Math::sqr(x(1,0))+DataType(4)*x(0,2)*x(1,0)*x(2,0)+DataType(4)*x(0,2)*x(1,0)*x(3,0)-DataType(4)*x(0,2)*Math::sqr(x(1,1))+DataType(4)*x(0,2)*x(1,1)*x(2,1)+DataType(4)*x(0,2)*x(1,1)*x(3,1)-DataType(4)*x(0,2)*Math::sqr(x(2,0))+DataType(4)*x(0,2)*x(2,0)*x(3,0)-DataType(4)*x(0,2)*Math::sqr(x(2,1))+DataType(4)*x(0,2)*x(2,1)*x(3,1)-DataType(4)*x(0,2)*Math::sqr(x(3,0))-DataType(4)*x(0,2)*Math::sqr(x(3,1))+DataType(2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(2,2)*Math::sqr(x(3,1)));
439 grad_cof_part(1,0) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(DataType(4)*x(0,0)*x(0,1)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(3,2)-DataType(2)*x(0,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*Math::sqr(x(3,2))-DataType(4)*Math::sqr(x(0,1))*x(1,0)+DataType(2)*Math::sqr(x(0,1))*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(3,0)+DataType(4)*x(0,1)*x(1,0)*x(2,1)+DataType(4)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(3,0)*x(3,1)-DataType(4)*Math::sqr(x(0,2))*x(1,0)+DataType(2)*Math::sqr(x(0,2))*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(3,0)+DataType(4)*x(0,2)*x(1,0)*x(2,2)+DataType(4)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(3,0)*x(3,2)-DataType(4)*x(1,0)*Math::sqr(x(2,1))+DataType(4)*x(1,0)*x(2,1)*x(3,1)-DataType(4)*x(1,0)*Math::sqr(x(2,2))+DataType(4)*x(1,0)*x(2,2)*x(3,2)-DataType(4)*x(1,0)*Math::sqr(x(3,1))-DataType(4)*x(1,0)*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(2,2)*x(3,0)*x(3,2));
441 grad_cof_part(1,1) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(-DataType(4)*Math::sqr(x(0,0))*x(1,1)+DataType(2)*Math::sqr(x(0,0))*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(3,1)+DataType(4)*x(0,0)*x(0,1)*x(1,0)-DataType(2)*x(0,0)*x(0,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(3,0)-DataType(2)*x(0,0)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(3,1)+DataType(4)*x(0,0)*x(1,1)*x(2,0)+DataType(4)*x(0,0)*x(1,1)*x(3,0)-DataType(2)*x(0,0)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(3,0)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(3,2)-DataType(2)*x(0,1)*x(1,0)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(3,0)-DataType(2)*x(0,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*Math::sqr(x(3,2))-DataType(4)*Math::sqr(x(0,2))*x(1,1)+DataType(2)*Math::sqr(x(0,2))*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(3,1)+DataType(4)*x(0,2)*x(1,1)*x(2,2)+DataType(4)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(3,1)*x(3,2)+DataType(4)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(3,0)*x(3,1)-DataType(4)*x(1,1)*Math::sqr(x(2,0))+DataType(4)*x(1,1)*x(2,0)*x(3,0)-DataType(4)*x(1,1)*Math::sqr(x(2,2))+DataType(4)*x(1,1)*x(2,2)*x(3,2)-DataType(4)*x(1,1)*Math::sqr(x(3,0))-DataType(4)*x(1,1)*Math::sqr(x(3,2))+DataType(4)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(2,2)*x(3,1)*x(3,2));
443 grad_cof_part(1,2) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(-DataType(4)*Math::sqr(x(0,0))*x(1,2)+DataType(2)*Math::sqr(x(0,0))*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(3,2)+DataType(4)*x(0,0)*x(0,2)*x(1,0)-DataType(2)*x(0,0)*x(0,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(3,0)-DataType(2)*x(0,0)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(3,2)+DataType(4)*x(0,0)*x(1,2)*x(2,0)+DataType(4)*x(0,0)*x(1,2)*x(3,0)-DataType(2)*x(0,0)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(3,0)*x(3,2)-DataType(4)*Math::sqr(x(0,1))*x(1,2)+DataType(2)*Math::sqr(x(0,1))*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(3,2)+DataType(4)*x(0,1)*x(0,2)*x(1,1)-DataType(2)*x(0,1)*x(0,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(3,2)+DataType(4)*x(0,1)*x(1,2)*x(2,1)+DataType(4)*x(0,1)*x(1,2)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(3,1)*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(3,0)-DataType(2)*x(0,2)*x(1,1)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(3,1)+DataType(2)*x(0,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*Math::sqr(x(3,1))+DataType(4)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(3,0)*x(3,2)+DataType(4)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(3,1)*x(3,2)-DataType(4)*x(1,2)*Math::sqr(x(2,0))+DataType(4)*x(1,2)*x(2,0)*x(3,0)-DataType(4)*x(1,2)*Math::sqr(x(2,1))+DataType(4)*x(1,2)*x(2,1)*x(3,1)-DataType(4)*x(1,2)*Math::sqr(x(3,0))-DataType(4)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(2,2)*Math::sqr(x(3,1)));
445 grad_cof_part(2,0) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(-DataType(2)*x(0,0)*x(0,1)*x(1,1)+DataType(4)*x(0,0)*x(0,1)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(3,1)-DataType(2)*x(0,0)*x(0,2)*x(1,2)+DataType(4)*x(0,0)*x(0,2)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(3,2)+DataType(2)*x(0,0)*Math::sqr(x(1,1))-DataType(2)*x(0,0)*x(1,1)*x(2,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))-DataType(2)*x(0,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*Math::sqr(x(3,2))+DataType(2)*Math::sqr(x(0,1))*x(1,0)-DataType(4)*Math::sqr(x(0,1))*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,1)*x(1,0)*x(2,1)+DataType(4)*x(0,1)*x(1,1)*x(2,0)+DataType(4)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(3,0)*x(3,1)+DataType(2)*Math::sqr(x(0,2))*x(1,0)-DataType(4)*Math::sqr(x(0,2))*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,2)*x(1,0)*x(2,2)+DataType(4)*x(0,2)*x(1,2)*x(2,0)+DataType(4)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,2)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(3,0)*x(3,2)+DataType(4)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(3,2)-DataType(2)*x(1,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*Math::sqr(x(3,2))-DataType(4)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*Math::sqr(x(1,1))*x(3,0)+DataType(4)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(3,0)*x(3,1)-DataType(4)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*Math::sqr(x(1,2))*x(3,0)+DataType(4)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,2)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(3,0)*x(3,2)-DataType(4)*x(2,0)*Math::sqr(x(3,1))-DataType(4)*x(2,0)*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,2)*x(3,0)*x(3,2));
447 grad_cof_part(2,1) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(DataType(2)*Math::sqr(x(0,0))*x(1,1)-DataType(4)*Math::sqr(x(0,0))*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(3,0)-DataType(2)*x(0,0)*x(1,0)*x(1,1)+DataType(4)*x(0,0)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(2,0)*x(3,1)+DataType(4)*x(0,0)*x(2,1)*x(3,0)-DataType(2)*x(0,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)+DataType(4)*x(0,1)*x(0,2)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))-DataType(2)*x(0,1)*x(1,0)*x(2,0)+DataType(2)*x(0,1)*Math::sqr(x(1,2))-DataType(2)*x(0,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(2,0)*x(3,0)-DataType(2)*x(0,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*Math::sqr(x(3,2))+DataType(2)*Math::sqr(x(0,2))*x(1,1)-DataType(4)*Math::sqr(x(0,2))*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,2)*x(1,1)*x(2,2)+DataType(4)*x(0,2)*x(1,2)*x(2,1)+DataType(4)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,2)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(3,1)*x(3,2)-DataType(4)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*Math::sqr(x(1,0))*x(3,1)+DataType(4)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(1,0)*x(2,0)*x(3,1)+DataType(4)*x(1,0)*x(2,1)*x(3,0)-DataType(2)*x(1,0)*x(3,0)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(3,2)-DataType(2)*x(1,1)*x(2,0)*x(3,0)-DataType(2)*x(1,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*Math::sqr(x(3,2))-DataType(4)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*Math::sqr(x(1,2))*x(3,1)+DataType(4)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,2)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(3,1)*x(3,2)+DataType(4)*x(2,0)*x(3,0)*x(3,1)-DataType(4)*x(2,1)*Math::sqr(x(3,0))-DataType(4)*x(2,1)*Math::sqr(x(3,2))+DataType(4)*x(2,2)*x(3,1)*x(3,2));
449 grad_cof_part(2,2) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(DataType(2)*Math::sqr(x(0,0))*x(1,2)-DataType(4)*Math::sqr(x(0,0))*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(3,0)-DataType(2)*x(0,0)*x(1,0)*x(1,2)+DataType(4)*x(0,0)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(2,0)*x(3,2)+DataType(4)*x(0,0)*x(2,2)*x(3,0)-DataType(2)*x(0,0)*x(3,0)*x(3,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)-DataType(4)*Math::sqr(x(0,1))*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)+DataType(4)*x(0,1)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(2,1)*x(3,2)+DataType(4)*x(0,1)*x(2,2)*x(3,1)-DataType(2)*x(0,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))-DataType(2)*x(0,2)*x(1,0)*x(2,0)+DataType(2)*x(0,2)*Math::sqr(x(1,1))-DataType(2)*x(0,2)*x(1,1)*x(2,1)-DataType(2)*x(0,2)*x(2,0)*x(3,0)-DataType(2)*x(0,2)*x(2,1)*x(3,1)+DataType(2)*x(0,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*Math::sqr(x(3,1))-DataType(4)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*Math::sqr(x(1,0))*x(3,2)+DataType(4)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(1,0)*x(2,0)*x(3,2)+DataType(4)*x(1,0)*x(2,2)*x(3,0)-DataType(2)*x(1,0)*x(3,0)*x(3,2)-DataType(4)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*Math::sqr(x(1,1))*x(3,2)+DataType(4)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(3,2)+DataType(4)*x(1,1)*x(2,2)*x(3,1)-DataType(2)*x(1,1)*x(3,1)*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(3,0)-DataType(2)*x(1,2)*x(2,1)*x(3,1)+DataType(2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*Math::sqr(x(3,1))+DataType(4)*x(2,0)*x(3,0)*x(3,2)+DataType(4)*x(2,1)*x(3,1)*x(3,2)-DataType(4)*x(2,2)*Math::sqr(x(3,0))-DataType(4)*x(2,2)*Math::sqr(x(3,1)));
451 grad_cof_part(3,0) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(-DataType(2)*x(0,0)*x(0,1)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)+DataType(4)*x(0,0)*x(0,1)*x(3,1)-DataType(2)*x(0,0)*x(0,2)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)+DataType(4)*x(0,0)*x(0,2)*x(3,2)+DataType(2)*x(0,0)*Math::sqr(x(1,1))-DataType(2)*x(0,0)*x(1,1)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))-DataType(2)*x(0,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*Math::sqr(x(2,1))-DataType(2)*x(0,0)*x(2,1)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))-DataType(2)*x(0,0)*x(2,2)*x(3,2)+DataType(2)*Math::sqr(x(0,1))*x(1,0)+DataType(2)*Math::sqr(x(0,1))*x(2,0)-DataType(4)*Math::sqr(x(0,1))*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,1)*x(1,0)*x(3,1)+DataType(4)*x(0,1)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(2,0)*x(3,1)+DataType(4)*x(0,1)*x(2,1)*x(3,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)+DataType(2)*Math::sqr(x(0,2))*x(2,0)-DataType(4)*Math::sqr(x(0,2))*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,2)*x(1,0)*x(3,2)+DataType(4)*x(0,2)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(2,0)*x(3,2)+DataType(4)*x(0,2)*x(2,2)*x(3,0)-DataType(2)*x(1,0)*x(1,1)*x(2,1)+DataType(4)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(1,0)*x(1,2)*x(2,2)+DataType(4)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(1,0)*Math::sqr(x(2,1))-DataType(2)*x(1,0)*x(2,1)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))-DataType(2)*x(1,0)*x(2,2)*x(3,2)+DataType(2)*Math::sqr(x(1,1))*x(2,0)-DataType(4)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,1)*x(2,0)*x(3,1)+DataType(4)*x(1,1)*x(2,1)*x(3,0)+DataType(2)*Math::sqr(x(1,2))*x(2,0)-DataType(4)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,2)*x(2,0)*x(3,2)+DataType(4)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(2,0)*x(2,1)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,2)-DataType(4)*Math::sqr(x(2,1))*x(3,0)-DataType(4)*Math::sqr(x(2,2))*x(3,0));
453 grad_cof_part(3,1) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(DataType(2)*Math::sqr(x(0,0))*x(1,1)+DataType(2)*Math::sqr(x(0,0))*x(2,1)-DataType(4)*Math::sqr(x(0,0))*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)-DataType(2)*x(0,0)*x(0,1)*x(2,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)-DataType(2)*x(0,0)*x(1,0)*x(1,1)+DataType(4)*x(0,0)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)-DataType(2)*x(0,0)*x(2,0)*x(2,1)+DataType(4)*x(0,0)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(0,2)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)+DataType(4)*x(0,1)*x(0,2)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))-DataType(2)*x(0,1)*x(1,0)*x(3,0)+DataType(2)*x(0,1)*Math::sqr(x(1,2))-DataType(2)*x(0,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))-DataType(2)*x(0,1)*x(2,0)*x(3,0)+DataType(2)*x(0,1)*Math::sqr(x(2,2))-DataType(2)*x(0,1)*x(2,2)*x(3,2)+DataType(2)*Math::sqr(x(0,2))*x(1,1)+DataType(2)*Math::sqr(x(0,2))*x(2,1)-DataType(4)*Math::sqr(x(0,2))*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,2)*x(1,1)*x(3,2)+DataType(4)*x(0,2)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(2,1)*x(3,2)+DataType(4)*x(0,2)*x(2,2)*x(3,1)+DataType(2)*Math::sqr(x(1,0))*x(2,1)-DataType(4)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(1,0)*x(2,0)*x(2,1)+DataType(4)*x(1,0)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(1,2)*x(2,2)+DataType(4)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))-DataType(2)*x(1,1)*x(2,0)*x(3,0)+DataType(2)*x(1,1)*Math::sqr(x(2,2))-DataType(2)*x(1,1)*x(2,2)*x(3,2)+DataType(2)*Math::sqr(x(1,2))*x(2,1)-DataType(4)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,2)*x(2,1)*x(3,2)+DataType(4)*x(1,2)*x(2,2)*x(3,1)-DataType(4)*Math::sqr(x(2,0))*x(3,1)+DataType(4)*x(2,0)*x(2,1)*x(3,0)+DataType(4)*x(2,1)*x(2,2)*x(3,2)-DataType(4)*Math::sqr(x(2,2))*x(3,1));
455 grad_cof_part(3,2) += DataType(2)*this->_fac_cof*(DataType(3)*Math::pow(h,DataType(4))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,0))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,0))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(0,0))*Math::sqr(x(3,2))+DataType(4)*x(0,0)*x(0,1)*x(1,0)*x(1,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(1,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(2,0)-DataType(2)*x(0,0)*x(0,1)*x(1,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(0,1)*x(2,0)*x(3,1)-DataType(2)*x(0,0)*x(0,1)*x(2,1)*x(3,0)+DataType(4)*x(0,0)*x(0,1)*x(3,0)*x(3,1)+DataType(4)*x(0,0)*x(0,2)*x(1,0)*x(1,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(2,0)-DataType(2)*x(0,0)*x(0,2)*x(1,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(0,2)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(2,2)*x(3,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(2,1)-DataType(2)*x(0,0)*x(1,0)*x(1,1)*x(3,1)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(2,2)-DataType(2)*x(0,0)*x(1,0)*x(1,2)*x(3,2)+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(2,2))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(1,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,1))*x(3,0)-DataType(2)*x(0,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(0,0)*x(1,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(2,0)+DataType(2)*x(0,0)*Math::sqr(x(1,2))*x(3,0)-DataType(2)*x(0,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(0,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(0,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(0,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(0,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(0,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(0,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(0,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,1))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(1,2))+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(2,2)+DataType(2)*Math::sqr(x(0,1))*x(1,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(0,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,1))*Math::sqr(x(3,2))+DataType(4)*x(0,1)*x(0,2)*x(1,1)*x(1,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(2,1)-DataType(2)*x(0,1)*x(0,2)*x(1,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(0,2)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(2,2)*x(3,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,0))*x(3,1)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(2,0)-DataType(2)*x(0,1)*x(1,0)*x(1,1)*x(3,0)-DataType(2)*x(0,1)*x(1,0)*x(2,0)*x(2,1)-DataType(2)*x(0,1)*x(1,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(2,2)-DataType(2)*x(0,1)*x(1,1)*x(1,2)*x(3,2)+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(2,2))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(1,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(2,1)+DataType(2)*x(0,1)*Math::sqr(x(1,2))*x(3,1)-DataType(2)*x(0,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(0,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(0,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(0,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(0,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(0,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(0,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,0))+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(2,0)+DataType(2)*Math::sqr(x(0,2))*x(1,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(1,1))+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(2,1)+DataType(2)*Math::sqr(x(0,2))*x(1,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(0,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(0,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(0,2))*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(2,0)-DataType(2)*x(0,2)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(0,2)*x(1,0)*x(2,0)*x(2,2)-DataType(2)*x(0,2)*x(1,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(2,2)+DataType(2)*x(0,2)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(2,1)-DataType(2)*x(0,2)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(0,2)*x(1,1)*x(2,1)*x(2,2)-DataType(2)*x(0,2)*x(1,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(2,1))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(1,2)*Math::sqr(x(3,1))+DataType(2)*x(0,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(0,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(0,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(0,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(0,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(0,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(0,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,0))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,0))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(1,0))*Math::sqr(x(3,2))+DataType(4)*x(1,0)*x(1,1)*x(2,0)*x(2,1)-DataType(2)*x(1,0)*x(1,1)*x(2,0)*x(3,1)-DataType(2)*x(1,0)*x(1,1)*x(2,1)*x(3,0)+DataType(4)*x(1,0)*x(1,1)*x(3,0)*x(3,1)+DataType(4)*x(1,0)*x(1,2)*x(2,0)*x(2,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,2)*x(3,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)*x(3,2)-DataType(2)*x(1,0)*x(2,0)*x(2,1)*x(3,1)-DataType(2)*x(1,0)*x(2,0)*x(2,2)*x(3,2)+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,1))+DataType(2)*x(1,0)*x(2,0)*Math::sqr(x(3,2))+DataType(2)*x(1,0)*Math::sqr(x(2,1))*x(3,0)-DataType(2)*x(1,0)*x(2,1)*x(3,0)*x(3,1)+DataType(2)*x(1,0)*Math::sqr(x(2,2))*x(3,0)-DataType(2)*x(1,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,1))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(2,2))+DataType(2)*Math::sqr(x(1,1))*x(2,2)*x(3,2)-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,1))*Math::sqr(x(3,2))+DataType(4)*x(1,1)*x(1,2)*x(2,1)*x(2,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,2)*x(3,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)*x(3,2)+DataType(2)*x(1,1)*Math::sqr(x(2,0))*x(3,1)-DataType(2)*x(1,1)*x(2,0)*x(2,1)*x(3,0)-DataType(2)*x(1,1)*x(2,0)*x(3,0)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)*x(3,2)+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,0))+DataType(2)*x(1,1)*x(2,1)*Math::sqr(x(3,2))+DataType(2)*x(1,1)*Math::sqr(x(2,2))*x(3,1)-DataType(2)*x(1,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,0))+DataType(2)*Math::sqr(x(1,2))*x(2,0)*x(3,0)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(2,1))+DataType(2)*Math::sqr(x(1,2))*x(2,1)*x(3,1)-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(1,2))*Math::sqr(x(3,1))+DataType(2)*x(1,2)*Math::sqr(x(2,0))*x(3,2)-DataType(2)*x(1,2)*x(2,0)*x(2,2)*x(3,0)-DataType(2)*x(1,2)*x(2,0)*x(3,0)*x(3,2)+DataType(2)*x(1,2)*Math::sqr(x(2,1))*x(3,2)-DataType(2)*x(1,2)*x(2,1)*x(2,2)*x(3,1)-DataType(2)*x(1,2)*x(2,1)*x(3,1)*x(3,2)+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,0))+DataType(2)*x(1,2)*x(2,2)*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,1))-DataType(2)*Math::sqr(x(2,0))*Math::sqr(x(3,2))+DataType(4)*x(2,0)*x(2,1)*x(3,0)*x(3,1)+DataType(4)*x(2,0)*x(2,2)*x(3,0)*x(3,2)-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,1))*Math::sqr(x(3,2))+DataType(4)*x(2,1)*x(2,2)*x(3,1)*x(3,2)-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,0))-DataType(2)*Math::sqr(x(2,2))*Math::sqr(x(3,1)))*Math::pow(h,-DataType(8))*(DataType(2)*Math::sqr(x(0,0))*x(1,2)+DataType(2)*Math::sqr(x(0,0))*x(2,2)-DataType(4)*Math::sqr(x(0,0))*x(3,2)-DataType(2)*x(0,0)*x(0,2)*x(1,0)-DataType(2)*x(0,0)*x(0,2)*x(2,0)+DataType(4)*x(0,0)*x(0,2)*x(3,0)-DataType(2)*x(0,0)*x(1,0)*x(1,2)+DataType(4)*x(0,0)*x(1,0)*x(3,2)-DataType(2)*x(0,0)*x(1,2)*x(3,0)-DataType(2)*x(0,0)*x(2,0)*x(2,2)+DataType(4)*x(0,0)*x(2,0)*x(3,2)-DataType(2)*x(0,0)*x(2,2)*x(3,0)+DataType(2)*Math::sqr(x(0,1))*x(1,2)+DataType(2)*Math::sqr(x(0,1))*x(2,2)-DataType(4)*Math::sqr(x(0,1))*x(3,2)-DataType(2)*x(0,1)*x(0,2)*x(1,1)-DataType(2)*x(0,1)*x(0,2)*x(2,1)+DataType(4)*x(0,1)*x(0,2)*x(3,1)-DataType(2)*x(0,1)*x(1,1)*x(1,2)+DataType(4)*x(0,1)*x(1,1)*x(3,2)-DataType(2)*x(0,1)*x(1,2)*x(3,1)-DataType(2)*x(0,1)*x(2,1)*x(2,2)+DataType(4)*x(0,1)*x(2,1)*x(3,2)-DataType(2)*x(0,1)*x(2,2)*x(3,1)+DataType(2)*x(0,2)*Math::sqr(x(1,0))-DataType(2)*x(0,2)*x(1,0)*x(3,0)+DataType(2)*x(0,2)*Math::sqr(x(1,1))-DataType(2)*x(0,2)*x(1,1)*x(3,1)+DataType(2)*x(0,2)*Math::sqr(x(2,0))-DataType(2)*x(0,2)*x(2,0)*x(3,0)+DataType(2)*x(0,2)*Math::sqr(x(2,1))-DataType(2)*x(0,2)*x(2,1)*x(3,1)+DataType(2)*Math::sqr(x(1,0))*x(2,2)-DataType(4)*Math::sqr(x(1,0))*x(3,2)-DataType(2)*x(1,0)*x(1,2)*x(2,0)+DataType(4)*x(1,0)*x(1,2)*x(3,0)-DataType(2)*x(1,0)*x(2,0)*x(2,2)+DataType(4)*x(1,0)*x(2,0)*x(3,2)-DataType(2)*x(1,0)*x(2,2)*x(3,0)+DataType(2)*Math::sqr(x(1,1))*x(2,2)-DataType(4)*Math::sqr(x(1,1))*x(3,2)-DataType(2)*x(1,1)*x(1,2)*x(2,1)+DataType(4)*x(1,1)*x(1,2)*x(3,1)-DataType(2)*x(1,1)*x(2,1)*x(2,2)+DataType(4)*x(1,1)*x(2,1)*x(3,2)-DataType(2)*x(1,1)*x(2,2)*x(3,1)+DataType(2)*x(1,2)*Math::sqr(x(2,0))-DataType(2)*x(1,2)*x(2,0)*x(3,0)+DataType(2)*x(1,2)*Math::sqr(x(2,1))-DataType(2)*x(1,2)*x(2,1)*x(3,1)-DataType(4)*Math::sqr(x(2,0))*x(3,2)+DataType(4)*x(2,0)*x(2,2)*x(3,0)-DataType(4)*Math::sqr(x(2,1))*x(3,2)+DataType(4)*x(2,1)*x(2,2)*x(3,1));
462 void NOINLINE add_grad_det_1_part(Tx& grad_det_1_part,
const Tx& x,
const DataType& h)
464 grad_det_1_part(0,0) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(1,1)*x(2,2)-x(1,1)*x(3,2)-x(1,2)*x(2,1)+x(1,2)*x(3,1)+x(2,1)*x(3,2)-x(2,2)*x(3,1))/(h*h*h)/DataType(3);
466 grad_det_1_part(0,1) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(1,0)*x(2,2)+x(1,0)*x(3,2)+x(1,2)*x(2,0)-x(1,2)*x(3,0)-x(2,0)*x(3,2)+x(2,2)*x(3,0))/(h*h*h)/DataType(3);
468 grad_det_1_part(0,2) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(1,0)*x(2,1)-x(1,0)*x(3,1)-x(1,1)*x(2,0)+x(1,1)*x(3,0)+x(2,0)*x(3,1)-x(2,1)*x(3,0))/(h*h*h)/DataType(3);
470 grad_det_1_part(1,0) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,1)*x(2,2)+x(0,1)*x(3,2)+x(0,2)*x(2,1)-x(0,2)*x(3,1)-x(2,1)*x(3,2)+x(2,2)*x(3,1))/(h*h*h)/DataType(3);
472 grad_det_1_part(1,1) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(2,2)-x(0,0)*x(3,2)-x(0,2)*x(2,0)+x(0,2)*x(3,0)+x(2,0)*x(3,2)-x(2,2)*x(3,0))/(h*h*h)/DataType(3);
474 grad_det_1_part(1,2) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,0)*x(2,1)+x(0,0)*x(3,1)+x(0,1)*x(2,0)-x(0,1)*x(3,0)-x(2,0)*x(3,1)+x(2,1)*x(3,0))/(h*h*h)/DataType(3);
476 grad_det_1_part(2,0) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,1)*x(1,2)-x(0,1)*x(3,2)-x(0,2)*x(1,1)+x(0,2)*x(3,1)+x(1,1)*x(3,2)-x(1,2)*x(3,1))/(h*h*h)/DataType(3);
478 grad_det_1_part(2,1) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,0)*x(1,2)+x(0,0)*x(3,2)+x(0,2)*x(1,0)-x(0,2)*x(3,0)-x(1,0)*x(3,2)+x(1,2)*x(3,0))/(h*h*h)/DataType(3);
480 grad_det_1_part(2,2) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)-x(0,0)*x(3,1)-x(0,1)*x(1,0)+x(0,1)*x(3,0)+x(1,0)*x(3,1)-x(1,1)*x(3,0))/(h*h*h)/DataType(3);
482 grad_det_1_part(3,0) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,1)*x(1,2)+x(0,1)*x(2,2)+x(0,2)*x(1,1)-x(0,2)*x(2,1)-x(1,1)*x(2,2)+x(1,2)*x(2,1))/(h*h*h)/DataType(3);
484 grad_det_1_part(3,1) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,2)-x(0,0)*x(2,2)-x(0,2)*x(1,0)+x(0,2)*x(2,0)+x(1,0)*x(2,2)-x(1,2)*x(2,0))/(h*h*h)/DataType(3);
486 grad_det_1_part(3,2) += -this->_fac_det*Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,0)*x(1,1)+x(0,0)*x(2,1)+x(0,1)*x(1,0)-x(0,1)*x(2,0)-x(1,0)*x(2,1)+x(1,1)*x(2,0))/(h*h*h)/DataType(3);
492 void NOINLINE add_grad_det_2_part(Tx& grad_det_2_part,
const Tx& x,
const DataType& h)
494 grad_det_2_part(0,0) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(1,1)*x(2,2)-x(1,1)*x(3,2)-x(1,2)*x(2,1)+x(1,2)*x(3,1)+x(2,1)*x(3,2)-x(2,2)*x(3,1));
496 grad_det_2_part(0,1) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(1,0)*x(2,2)+x(1,0)*x(3,2)+x(1,2)*x(2,0)-x(1,2)*x(3,0)-x(2,0)*x(3,2)+x(2,2)*x(3,0));
498 grad_det_2_part(0,2) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(1,0)*x(2,1)-x(1,0)*x(3,1)-x(1,1)*x(2,0)+x(1,1)*x(3,0)+x(2,0)*x(3,1)-x(2,1)*x(3,0));
500 grad_det_2_part(1,0) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,1)*x(2,2)+x(0,1)*x(3,2)+x(0,2)*x(2,1)-x(0,2)*x(3,1)-x(2,1)*x(3,2)+x(2,2)*x(3,1));
502 grad_det_2_part(1,1) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,0)*x(2,2)-x(0,0)*x(3,2)-x(0,2)*x(2,0)+x(0,2)*x(3,0)+x(2,0)*x(3,2)-x(2,2)*x(3,0));
504 grad_det_2_part(1,2) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,0)*x(2,1)+x(0,0)*x(3,1)+x(0,1)*x(2,0)-x(0,1)*x(3,0)-x(2,0)*x(3,1)+x(2,1)*x(3,0));
506 grad_det_2_part(2,0) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,1)*x(1,2)-x(0,1)*x(3,2)-x(0,2)*x(1,1)+x(0,2)*x(3,1)+x(1,1)*x(3,2)-x(1,2)*x(3,1));
508 grad_det_2_part(2,1) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,0)*x(1,2)+x(0,0)*x(3,2)+x(0,2)*x(1,0)-x(0,2)*x(3,0)-x(1,0)*x(3,2)+x(1,2)*x(3,0));
510 grad_det_2_part(2,2) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,0)*x(1,1)-x(0,0)*x(3,1)-x(0,1)*x(1,0)+x(0,1)*x(3,0)+x(1,0)*x(3,1)-x(1,1)*x(3,0));
512 grad_det_2_part(3,0) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,1)*x(1,2)+x(0,1)*x(2,2)+x(0,2)*x(1,1)-x(0,2)*x(2,1)-x(1,1)*x(2,2)+x(1,2)*x(2,1));
514 grad_det_2_part(3,1) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,0)*x(1,2)-x(0,0)*x(2,2)-x(0,2)*x(1,0)+x(0,2)*x(2,0)+x(1,0)*x(2,2)-x(1,2)*x(2,0));
516 grad_det_2_part(3,2) += DataType(4)*this->_fac_det*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,0)*x(1,1)+x(0,0)*x(2,1)+x(0,1)*x(1,0)-x(0,1)*x(2,0)-x(1,0)*x(2,1)+x(1,1)*x(2,0));
522 void NOINLINE add_grad_rec_det_1_part(Tx& grad_rec_det_1_part,
const Tx& x,
const DataType& h)
524 grad_rec_det_1_part(0,0) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(1,1)*x(2,2)-x(1,1)*x(3,2)-x(1,2)*x(2,1)+x(1,2)*x(3,1)+x(2,1)*x(3,2)-x(2,2)*x(3,1))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(1,1)*x(2,2)-x(1,1)*x(3,2)-x(1,2)*x(2,1)+x(1,2)*x(3,1)+x(2,1)*x(3,2)-x(2,2)*x(3,1)));
526 grad_rec_det_1_part(0,1) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(1,0)*x(2,2)+x(1,0)*x(3,2)+x(1,2)*x(2,0)-x(1,2)*x(3,0)-x(2,0)*x(3,2)+x(2,2)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(1,0)*x(2,2)+x(1,0)*x(3,2)+x(1,2)*x(2,0)-x(1,2)*x(3,0)-x(2,0)*x(3,2)+x(2,2)*x(3,0)));
528 grad_rec_det_1_part(0,2) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(1,0)*x(2,1)-x(1,0)*x(3,1)-x(1,1)*x(2,0)+x(1,1)*x(3,0)+x(2,0)*x(3,1)-x(2,1)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(1,0)*x(2,1)-x(1,0)*x(3,1)-x(1,1)*x(2,0)+x(1,1)*x(3,0)+x(2,0)*x(3,1)-x(2,1)*x(3,0)));
530 grad_rec_det_1_part(1,0) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,1)*x(2,2)+x(0,1)*x(3,2)+x(0,2)*x(2,1)-x(0,2)*x(3,1)-x(2,1)*x(3,2)+x(2,2)*x(3,1))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,1)*x(2,2)+x(0,1)*x(3,2)+x(0,2)*x(2,1)-x(0,2)*x(3,1)-x(2,1)*x(3,2)+x(2,2)*x(3,1)));
532 grad_rec_det_1_part(1,1) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(2,2)-x(0,0)*x(3,2)-x(0,2)*x(2,0)+x(0,2)*x(3,0)+x(2,0)*x(3,2)-x(2,2)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,0)*x(2,2)-x(0,0)*x(3,2)-x(0,2)*x(2,0)+x(0,2)*x(3,0)+x(2,0)*x(3,2)-x(2,2)*x(3,0)));
534 grad_rec_det_1_part(1,2) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,0)*x(2,1)+x(0,0)*x(3,1)+x(0,1)*x(2,0)-x(0,1)*x(3,0)-x(2,0)*x(3,1)+x(2,1)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,0)*x(2,1)+x(0,0)*x(3,1)+x(0,1)*x(2,0)-x(0,1)*x(3,0)-x(2,0)*x(3,1)+x(2,1)*x(3,0)));
536 grad_rec_det_1_part(2,0) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,1)*x(1,2)-x(0,1)*x(3,2)-x(0,2)*x(1,1)+x(0,2)*x(3,1)+x(1,1)*x(3,2)-x(1,2)*x(3,1))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,1)*x(1,2)-x(0,1)*x(3,2)-x(0,2)*x(1,1)+x(0,2)*x(3,1)+x(1,1)*x(3,2)-x(1,2)*x(3,1)));
538 grad_rec_det_1_part(2,1) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,0)*x(1,2)+x(0,0)*x(3,2)+x(0,2)*x(1,0)-x(0,2)*x(3,0)-x(1,0)*x(3,2)+x(1,2)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,0)*x(1,2)+x(0,0)*x(3,2)+x(0,2)*x(1,0)-x(0,2)*x(3,0)-x(1,0)*x(3,2)+x(1,2)*x(3,0)));
540 grad_rec_det_1_part(2,2) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)-x(0,0)*x(3,1)-x(0,1)*x(1,0)+x(0,1)*x(3,0)+x(1,0)*x(3,1)-x(1,1)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,0)*x(1,1)-x(0,0)*x(3,1)-x(0,1)*x(1,0)+x(0,1)*x(3,0)+x(1,0)*x(3,1)-x(1,1)*x(3,0)));
542 grad_rec_det_1_part(3,0) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,1)*x(1,2)+x(0,1)*x(2,2)+x(0,2)*x(1,1)-x(0,2)*x(2,1)-x(1,1)*x(2,2)+x(1,2)*x(2,1))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,1)*x(1,2)+x(0,1)*x(2,2)+x(0,2)*x(1,1)-x(0,2)*x(2,1)-x(1,1)*x(2,2)+x(1,2)*x(2,1)));
544 grad_rec_det_1_part(3,1) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,2)-x(0,0)*x(2,2)-x(0,2)*x(1,0)+x(0,2)*x(2,0)+x(1,0)*x(2,2)-x(1,2)*x(2,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,0)*x(1,2)-x(0,0)*x(2,2)-x(0,2)*x(1,0)+x(0,2)*x(2,0)+x(1,0)*x(2,2)-x(1,2)*x(2,0)));
546 grad_rec_det_1_part(3,2) += -this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(2))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,0)*x(1,1)+x(0,0)*x(2,1)+x(0,1)*x(1,0)-x(0,1)*x(2,0)-x(1,0)*x(2,1)+x(1,1)*x(2,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,0)*x(1,1)+x(0,0)*x(2,1)+x(0,1)*x(1,0)-x(0,1)*x(2,0)-x(1,0)*x(2,1)+x(1,1)*x(2,0)));
552 void NOINLINE add_grad_rec_det_2_part(Tx& grad_rec_det_2_part,
const Tx& x,
const DataType& h)
554 grad_rec_det_2_part(0,0) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(1,1)*x(2,2)-x(1,1)*x(3,2)-x(1,2)*x(2,1)+x(1,2)*x(3,1)+x(2,1)*x(3,2)-x(2,2)*x(3,1))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(1,1)*x(2,2)-x(1,1)*x(3,2)-x(1,2)*x(2,1)+x(1,2)*x(3,1)+x(2,1)*x(3,2)-x(2,2)*x(3,1)));
556 grad_rec_det_2_part(0,1) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(1,0)*x(2,2)+x(1,0)*x(3,2)+x(1,2)*x(2,0)-x(1,2)*x(3,0)-x(2,0)*x(3,2)+x(2,2)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(1,0)*x(2,2)+x(1,0)*x(3,2)+x(1,2)*x(2,0)-x(1,2)*x(3,0)-x(2,0)*x(3,2)+x(2,2)*x(3,0)));
558 grad_rec_det_2_part(0,2) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(1,0)*x(2,1)-x(1,0)*x(3,1)-x(1,1)*x(2,0)+x(1,1)*x(3,0)+x(2,0)*x(3,1)-x(2,1)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(1,0)*x(2,1)-x(1,0)*x(3,1)-x(1,1)*x(2,0)+x(1,1)*x(3,0)+x(2,0)*x(3,1)-x(2,1)*x(3,0)));
560 grad_rec_det_2_part(1,0) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,1)*x(2,2)+x(0,1)*x(3,2)+x(0,2)*x(2,1)-x(0,2)*x(3,1)-x(2,1)*x(3,2)+x(2,2)*x(3,1))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,1)*x(2,2)+x(0,1)*x(3,2)+x(0,2)*x(2,1)-x(0,2)*x(3,1)-x(2,1)*x(3,2)+x(2,2)*x(3,1)));
562 grad_rec_det_2_part(1,1) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(2,2)-x(0,0)*x(3,2)-x(0,2)*x(2,0)+x(0,2)*x(3,0)+x(2,0)*x(3,2)-x(2,2)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,0)*x(2,2)-x(0,0)*x(3,2)-x(0,2)*x(2,0)+x(0,2)*x(3,0)+x(2,0)*x(3,2)-x(2,2)*x(3,0)));
564 grad_rec_det_2_part(1,2) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,0)*x(2,1)+x(0,0)*x(3,1)+x(0,1)*x(2,0)-x(0,1)*x(3,0)-x(2,0)*x(3,1)+x(2,1)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,0)*x(2,1)+x(0,0)*x(3,1)+x(0,1)*x(2,0)-x(0,1)*x(3,0)-x(2,0)*x(3,1)+x(2,1)*x(3,0)));
566 grad_rec_det_2_part(2,0) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,1)*x(1,2)-x(0,1)*x(3,2)-x(0,2)*x(1,1)+x(0,2)*x(3,1)+x(1,1)*x(3,2)-x(1,2)*x(3,1))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,1)*x(1,2)-x(0,1)*x(3,2)-x(0,2)*x(1,1)+x(0,2)*x(3,1)+x(1,1)*x(3,2)-x(1,2)*x(3,1)));
568 grad_rec_det_2_part(2,1) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,0)*x(1,2)+x(0,0)*x(3,2)+x(0,2)*x(1,0)-x(0,2)*x(3,0)-x(1,0)*x(3,2)+x(1,2)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,0)*x(1,2)+x(0,0)*x(3,2)+x(0,2)*x(1,0)-x(0,2)*x(3,0)-x(1,0)*x(3,2)+x(1,2)*x(3,0)));
570 grad_rec_det_2_part(2,2) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)-x(0,0)*x(3,1)-x(0,1)*x(1,0)+x(0,1)*x(3,0)+x(1,0)*x(3,1)-x(1,1)*x(3,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,0)*x(1,1)-x(0,0)*x(3,1)-x(0,1)*x(1,0)+x(0,1)*x(3,0)+x(1,0)*x(3,1)-x(1,1)*x(3,0)));
572 grad_rec_det_2_part(3,0) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,1)*x(1,2)+x(0,1)*x(2,2)+x(0,2)*x(1,1)-x(0,2)*x(2,1)-x(1,1)*x(2,2)+x(1,2)*x(2,1))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,1)*x(1,2)+x(0,1)*x(2,2)+x(0,2)*x(1,1)-x(0,2)*x(2,1)-x(1,1)*x(2,2)+x(1,2)*x(2,1)));
574 grad_rec_det_2_part(3,1) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,2)-x(0,0)*x(2,2)-x(0,2)*x(1,0)+x(0,2)*x(2,0)+x(1,0)*x(2,2)-x(1,2)*x(2,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(x(0,0)*x(1,2)-x(0,0)*x(2,2)-x(0,2)*x(1,0)+x(0,2)*x(2,0)+x(1,0)*x(2,2)-x(1,2)*x(2,0)));
576 grad_rec_det_2_part(3,2) += -DataType(2)*this->_fac_rec_det*Math::pow(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h)/DataType(3)+Math::sqrt(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h)),-DataType(3))*(-Math::sqrt(DataType(3))*Math::sqrt(DataType(6))*(-x(0,0)*x(1,1)+x(0,0)*x(2,1)+x(0,1)*x(1,0)-x(0,1)*x(2,0)-x(1,0)*x(2,1)+x(1,1)*x(2,0))/(h*h*h)/DataType(3)+DataType(2)*Math::pow(this->_fac_reg*this->_fac_reg+DataType(2)*Math::pow(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0),DataType(2))/(h*h*h*h*h*h),-DataType(1)/DataType(2))*(x(0,0)*x(1,1)*x(2,2)-x(0,0)*x(1,1)*x(3,2)-x(0,0)*x(1,2)*x(2,1)+x(0,0)*x(1,2)*x(3,1)+x(0,0)*x(2,1)*x(3,2)-x(0,0)*x(2,2)*x(3,1)-x(0,1)*x(1,0)*x(2,2)+x(0,1)*x(1,0)*x(3,2)+x(0,1)*x(1,2)*x(2,0)-x(0,1)*x(1,2)*x(3,0)-x(0,1)*x(2,0)*x(3,2)+x(0,1)*x(2,2)*x(3,0)+x(0,2)*x(1,0)*x(2,1)-x(0,2)*x(1,0)*x(3,1)-x(0,2)*x(1,1)*x(2,0)+x(0,2)*x(1,1)*x(3,0)+x(0,2)*x(2,0)*x(3,1)-x(0,2)*x(2,1)*x(3,0)-x(1,0)*x(2,1)*x(3,2)+x(1,0)*x(2,2)*x(3,1)+x(1,1)*x(2,0)*x(3,2)-x(1,1)*x(2,2)*x(3,0)-x(1,2)*x(2,0)*x(3,1)+x(1,2)*x(2,1)*x(3,0))/(h*h*h*h*h*h)*(-x(0,0)*x(1,1)+x(0,0)*x(2,1)+x(0,1)*x(1,0)-x(0,1)*x(2,0)-x(1,0)*x(2,1)+x(1,1)*x(2,0)));
579#if defined(FEAT_COMPILER_INTEL) && (FEAT_COMPILER_INTEL < 1600)
580 void add_grad_cof_part_1(Tx& grad_cof_part1,
const Tx& x,
const DataType& h)
582 void NOINLINE add_grad_cof_part_1(Tx& grad_cof_part1,
const Tx& x,
const DataType& h)
585 grad_cof_part1[0][0] += DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(1,1) * x(2,2) - x(1,1) * x(3,2) - x(2,1) * x(1,2) + x(1,2) * x(3,1) + x(2,1) * x(3,2) - x(2,2) * x(3,1)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
586 grad_cof_part1[0][1] += -DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(1,0) * x(2,2) - x(1,0) * x(3,2) - x(2,0) * x(1,2) + x(1,2) * x(3,0) + x(2,0) * x(3,2) - x(2,2) * x(3,0)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
587 grad_cof_part1[0][2] += DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(1,0) * x(2,1) - x(1,0) * x(3,1) - x(1,1) * x(2,0) + x(1,1) * x(3,0) + x(2,0) * x(3,1) - x(2,1) * x(3,0)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
588 grad_cof_part1[1][0] += -DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(0,1) * x(2,2) - x(0,1) * x(3,2) - x(2,1) * x(0,2) + x(0,2) * x(3,1) + x(2,1) * x(3,2) - x(2,2) * x(3,1)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
589 grad_cof_part1[1][1] += DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(0,0) * x(2,2) - x(0,0) * x(3,2) - x(2,0) * x(0,2) + x(0,2) * x(3,0) + x(2,0) * x(3,2) - x(2,2) * x(3,0)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
590 grad_cof_part1[1][2] += -DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(0,0) * x(2,1) - x(0,0) * x(3,1) - x(2,0) * x(0,1) + x(0,1) * x(3,0) + x(2,0) * x(3,1) - x(2,1) * x(3,0)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
591 grad_cof_part1[2][0] += DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(0,1) * x(1,2) - x(0,1) * x(3,2) - x(1,1) * x(0,2) + x(0,2) * x(3,1) + x(1,1) * x(3,2) - x(1,2) * x(3,1)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
592 grad_cof_part1[2][1] += -DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(0,0) * x(1,2) - x(0,0) * x(3,2) - x(1,0) * x(0,2) + x(0,2) * x(3,0) + x(1,0) * x(3,2) - x(1,2) * x(3,0)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
593 grad_cof_part1[2][2] += DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(0,0) * x(1,1) - x(0,0) * x(3,1) - x(1,0) * x(0,1) + x(0,1) * x(3,0) + x(1,0) * x(3,1) - x(1,1) * x(3,0)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
594 grad_cof_part1[3][0] += -DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(0,1) * x(1,2) - x(0,1) * x(2,2) - x(1,1) * x(0,2) + x(2,1) * x(0,2) + x(1,1) * x(2,2) - x(2,1) * x(1,2)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
595 grad_cof_part1[3][1] += DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(0,0) * x(1,2) - x(0,0) * x(2,2) - x(1,0) * x(0,2) + x(2,0) * x(0,2) + x(1,0) * x(2,2) - x(2,0) * x(1,2)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
596 grad_cof_part1[3][2] += -DataType(8) * this->_fac_cof * (Math::pow(Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18), DataType(2)) + Math::pow(-Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(18) + Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(18) - Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(18), DataType(2)) + Math::pow(-(x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,2) + x(1,2) + x(2,2) - DataType(3) * x(3,2)) / DataType(6) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,1) + x(1,1) + x(2,1) - DataType(3) * x(3,1)) / DataType(6) + (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(6)) * (x(0,0) + x(1,0) + x(2,0) - DataType(3) * x(3,0)) / DataType(6), DataType(2)) + Math::pow((x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) - (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3), DataType(2)) + Math::pow(-(x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,2) + x(1,2) - DataType(2) * x(2,2)) / DataType(3) + (x(0,2) - x(1,2)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) + Math::pow((x(0,0) - x(1,0)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,1) + x(1,1) - DataType(2) * x(2,1)) / DataType(3) - (x(0,1) - x(1,1)) / Math::sqr(h) * Math::sqrt(DataType(3)) * (x(0,0) + x(1,0) - DataType(2) * x(2,0)) / DataType(3), DataType(2)) - DataType(3)) * (x(0,0) * x(1,1) - x(0,0) * x(2,1) - x(1,0) * x(0,1) + x(2,0) * x(0,1) + x(1,0) * x(2,1) - x(1,1) * x(2,0)) * (Math::sqr(x(0,0)) * Math::sqr(x(1,1)) - Math::sqr(x(0,0)) * x(1,1) * x(2,1) - Math::sqr(x(0,0)) * x(1,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(1,2)) - Math::sqr(x(0,0)) * x(1,2) * x(2,2) - Math::sqr(x(0,0)) * x(1,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(2,1)) - Math::sqr(x(0,0)) * x(2,1) * x(3,1) + Math::sqr(x(0,0)) * Math::sqr(x(2,2)) - Math::sqr(x(0,0)) * x(2,2) * x(3,2) + Math::sqr(x(0,0)) * Math::sqr(x(3,1)) + Math::sqr(x(0,0)) * Math::sqr(x(3,2)) - DataType(2) * x(0,0) * x(0,1) * x(1,0) * x(1,1) + x(0,0) * x(0,1) * x(1,0) * x(2,1) + x(0,0) * x(0,1) * x(1,0) * x(3,1) + x(0,0) * x(0,1) * x(1,1) * x(2,0) + x(0,0) * x(0,1) * x(1,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(2,0) * x(2,1) + x(0,0) * x(0,1) * x(2,0) * x(3,1) + x(0,0) * x(0,1) * x(2,1) * x(3,0) - DataType(2) * x(0,0) * x(0,1) * x(3,0) * x(3,1) - DataType(2) * x(0,0) * x(0,2) * x(1,0) * x(1,2) + x(0,0) * x(0,2) * x(1,0) * x(2,2) + x(0,0) * x(0,2) * x(1,0) * x(3,2) + x(0,0) * x(0,2) * x(1,2) * x(2,0) + x(0,0) * x(0,2) * x(1,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(2,0) * x(2,2) + x(0,0) * x(0,2) * x(2,0) * x(3,2) + x(0,0) * x(0,2) * x(2,2) * x(3,0) - DataType(2) * x(0,0) * x(0,2) * x(3,0) * x(3,2) + x(0,0) * x(1,0) * x(1,1) * x(2,1) + x(0,0) * x(1,0) * x(1,1) * x(3,1) + x(0,0) * x(1,0) * x(1,2) * x(2,2) + x(0,0) * x(1,0) * x(1,2) * x(3,2) - x(0,0) * x(1,0) * Math::sqr(x(2,1)) - x(0,0) * x(1,0) * Math::sqr(x(2,2)) - x(0,0) * x(1,0) * Math::sqr(x(3,1)) - x(0,0) * x(1,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(1,1)) * x(2,0) - x(0,0) * Math::sqr(x(1,1)) * x(3,0) + x(0,0) * x(1,1) * x(2,0) * x(2,1) + x(0,0) * x(1,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(1,2)) * x(2,0) - x(0,0) * Math::sqr(x(1,2)) * x(3,0) + x(0,0) * x(1,2) * x(2,0) * x(2,2) + x(0,0) * x(1,2) * x(3,0) * x(3,2) + x(0,0) * x(2,0) * x(2,1) * x(3,1) + x(0,0) * x(2,0) * x(2,2) * x(3,2) - x(0,0) * x(2,0) * Math::sqr(x(3,1)) - x(0,0) * x(2,0) * Math::sqr(x(3,2)) - x(0,0) * Math::sqr(x(2,1)) * x(3,0) + x(0,0) * x(2,1) * x(3,0) * x(3,1) - x(0,0) * Math::sqr(x(2,2)) * x(3,0) + x(0,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(1,0)) - Math::sqr(x(0,1)) * x(1,0) * x(2,0) - Math::sqr(x(0,1)) * x(1,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(1,2)) - Math::sqr(x(0,1)) * x(1,2) * x(2,2) - Math::sqr(x(0,1)) * x(1,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(2,0)) - Math::sqr(x(0,1)) * x(2,0) * x(3,0) + Math::sqr(x(0,1)) * Math::sqr(x(2,2)) - Math::sqr(x(0,1)) * x(2,2) * x(3,2) + Math::sqr(x(0,1)) * Math::sqr(x(3,0)) + Math::sqr(x(0,1)) * Math::sqr(x(3,2)) - DataType(2) * x(0,1) * x(0,2) * x(1,1) * x(1,2) + x(0,1) * x(0,2) * x(1,1) * x(2,2) + x(0,1) * x(0,2) * x(1,1) * x(3,2) + x(0,1) * x(0,2) * x(1,2) * x(2,1) + x(0,1) * x(0,2) * x(1,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(2,1) * x(2,2) + x(0,1) * x(0,2) * x(2,1) * x(3,2) + x(0,1) * x(0,2) * x(2,2) * x(3,1) - DataType(2) * x(0,1) * x(0,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(1,0)) * x(2,1) - x(0,1) * Math::sqr(x(1,0)) * x(3,1) + x(0,1) * x(1,0) * x(1,1) * x(2,0) + x(0,1) * x(1,0) * x(1,1) * x(3,0) + x(0,1) * x(1,0) * x(2,0) * x(2,1) + x(0,1) * x(1,0) * x(3,0) * x(3,1) + x(0,1) * x(1,1) * x(1,2) * x(2,2) + x(0,1) * x(1,1) * x(1,2) * x(3,2) - x(0,1) * x(1,1) * Math::sqr(x(2,0)) - x(0,1) * x(1,1) * Math::sqr(x(2,2)) - x(0,1) * x(1,1) * Math::sqr(x(3,0)) - x(0,1) * x(1,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(1,2)) * x(2,1) - x(0,1) * Math::sqr(x(1,2)) * x(3,1) + x(0,1) * x(1,2) * x(2,1) * x(2,2) + x(0,1) * x(1,2) * x(3,1) * x(3,2) - x(0,1) * Math::sqr(x(2,0)) * x(3,1) + x(0,1) * x(2,0) * x(2,1) * x(3,0) + x(0,1) * x(2,0) * x(3,0) * x(3,1) + x(0,1) * x(2,1) * x(2,2) * x(3,2) - x(0,1) * x(2,1) * Math::sqr(x(3,0)) - x(0,1) * x(2,1) * Math::sqr(x(3,2)) - x(0,1) * Math::sqr(x(2,2)) * x(3,1) + x(0,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(0,2)) * Math::sqr(x(1,0)) - Math::sqr(x(0,2)) * x(1,0) * x(2,0) - Math::sqr(x(0,2)) * x(1,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(1,1)) - Math::sqr(x(0,2)) * x(1,1) * x(2,1) - Math::sqr(x(0,2)) * x(1,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(2,0)) - Math::sqr(x(0,2)) * x(2,0) * x(3,0) + Math::sqr(x(0,2)) * Math::sqr(x(2,1)) - Math::sqr(x(0,2)) * x(2,1) * x(3,1) + Math::sqr(x(0,2)) * Math::sqr(x(3,0)) + Math::sqr(x(0,2)) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(1,0)) * x(2,2) - x(0,2) * Math::sqr(x(1,0)) * x(3,2) + x(0,2) * x(1,0) * x(1,2) * x(2,0) + x(0,2) * x(1,0) * x(1,2) * x(3,0) + x(0,2) * x(1,0) * x(2,0) * x(2,2) + x(0,2) * x(1,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(1,1)) * x(2,2) - x(0,2) * Math::sqr(x(1,1)) * x(3,2) + x(0,2) * x(1,1) * x(1,2) * x(2,1) + x(0,2) * x(1,1) * x(1,2) * x(3,1) + x(0,2) * x(1,1) * x(2,1) * x(2,2) + x(0,2) * x(1,1) * x(3,1) * x(3,2) - x(0,2) * x(1,2) * Math::sqr(x(2,0)) - x(0,2) * x(1,2) * Math::sqr(x(2,1)) - x(0,2) * x(1,2) * Math::sqr(x(3,0)) - x(0,2) * x(1,2) * Math::sqr(x(3,1)) - x(0,2) * Math::sqr(x(2,0)) * x(3,2) + x(0,2) * x(2,0) * x(2,2) * x(3,0) + x(0,2) * x(2,0) * x(3,0) * x(3,2) - x(0,2) * Math::sqr(x(2,1)) * x(3,2) + x(0,2) * x(2,1) * x(2,2) * x(3,1) + x(0,2) * x(2,1) * x(3,1) * x(3,2) - x(0,2) * x(2,2) * Math::sqr(x(3,0)) - x(0,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(2,1)) - Math::sqr(x(1,0)) * x(2,1) * x(3,1) + Math::sqr(x(1,0)) * Math::sqr(x(2,2)) - Math::sqr(x(1,0)) * x(2,2) * x(3,2) + Math::sqr(x(1,0)) * Math::sqr(x(3,1)) + Math::sqr(x(1,0)) * Math::sqr(x(3,2)) - DataType(2) * x(1,0) * x(1,1) * x(2,0) * x(2,1) + x(1,0) * x(1,1) * x(2,0) * x(3,1) + x(1,0) * x(1,1) * x(2,1) * x(3,0) - DataType(2) * x(1,0) * x(1,1) * x(3,0) * x(3,1) - DataType(2) * x(1,0) * x(1,2) * x(2,0) * x(2,2) + x(1,0) * x(1,2) * x(2,0) * x(3,2) + x(1,0) * x(1,2) * x(2,2) * x(3,0) - DataType(2) * x(1,0) * x(1,2) * x(3,0) * x(3,2) + x(1,0) * x(2,0) * x(2,1) * x(3,1) + x(1,0) * x(2,0) * x(2,2) * x(3,2) - x(1,0) * x(2,0) * Math::sqr(x(3,1)) - x(1,0) * x(2,0) * Math::sqr(x(3,2)) - x(1,0) * Math::sqr(x(2,1)) * x(3,0) + x(1,0) * x(2,1) * x(3,0) * x(3,1) - x(1,0) * Math::sqr(x(2,2)) * x(3,0) + x(1,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(2,0)) - Math::sqr(x(1,1)) * x(2,0) * x(3,0) + Math::sqr(x(1,1)) * Math::sqr(x(2,2)) - Math::sqr(x(1,1)) * x(2,2) * x(3,2) + Math::sqr(x(1,1)) * Math::sqr(x(3,0)) + Math::sqr(x(1,1)) * Math::sqr(x(3,2)) - DataType(2) * x(1,1) * x(1,2) * x(2,1) * x(2,2) + x(1,1) * x(1,2) * x(2,1) * x(3,2) + x(1,1) * x(1,2) * x(2,2) * x(3,1) - DataType(2) * x(1,1) * x(1,2) * x(3,1) * x(3,2) - x(1,1) * Math::sqr(x(2,0)) * x(3,1) + x(1,1) * x(2,0) * x(2,1) * x(3,0) + x(1,1) * x(2,0) * x(3,0) * x(3,1) + x(1,1) * x(2,1) * x(2,2) * x(3,2) - x(1,1) * x(2,1) * Math::sqr(x(3,0)) - x(1,1) * x(2,1) * Math::sqr(x(3,2)) - x(1,1) * Math::sqr(x(2,2)) * x(3,1) + x(1,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(1,2)) * Math::sqr(x(2,0)) - Math::sqr(x(1,2)) * x(2,0) * x(3,0) + Math::sqr(x(1,2)) * Math::sqr(x(2,1)) - Math::sqr(x(1,2)) * x(2,1) * x(3,1) + Math::sqr(x(1,2)) * Math::sqr(x(3,0)) + Math::sqr(x(1,2)) * Math::sqr(x(3,1)) - x(1,2) * Math::sqr(x(2,0)) * x(3,2) + x(1,2) * x(2,0) * x(2,2) * x(3,0) + x(1,2) * x(2,0) * x(3,0) * x(3,2) - x(1,2) * Math::sqr(x(2,1)) * x(3,2) + x(1,2) * x(2,1) * x(2,2) * x(3,1) + x(1,2) * x(2,1) * x(3,1) * x(3,2) - x(1,2) * x(2,2) * Math::sqr(x(3,0)) - x(1,2) * x(2,2) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,1)) + Math::sqr(x(2,0)) * Math::sqr(x(3,2)) - DataType(2) * x(2,0) * x(2,1) * x(3,0) * x(3,1) - DataType(2) * x(2,0) * x(2,2) * x(3,0) * x(3,2) + Math::sqr(x(2,1)) * Math::sqr(x(3,0)) + Math::sqr(x(2,1)) * Math::sqr(x(3,2)) - DataType(2) * x(2,1) * x(2,2) * x(3,1) * x(3,2) + Math::sqr(x(2,2)) * Math::sqr(x(3,0)) + Math::sqr(x(2,2)) * Math::sqr(x(3,1))) / (h*h*h*h) / (x(0,0) * x(1,1) * x(2,2) - x(0,0) * x(1,1) * x(3,2) - x(0,0) * x(1,2) * x(2,1) + x(0,0) * x(1,2) * x(3,1) + x(0,0) * x(2,1) * x(3,2) - x(0,0) * x(2,2) * x(3,1) - x(0,1) * x(1,0) * x(2,2) + x(0,1) * x(1,0) * x(3,2) + x(0,1) * x(1,2) * x(2,0) - x(0,1) * x(1,2) * x(3,0) - x(0,1) * x(2,0) * x(3,2) + x(0,1) * x(2,2) * x(3,0) + x(0,2) * x(1,0) * x(2,1) - x(0,2) * x(1,0) * x(3,1) - x(0,2) * x(1,1) * x(2,0) + x(0,2) * x(1,1) * x(3,0) + x(0,2) * x(2,0) * x(3,1) - x(0,2) * x(2,1) * x(3,0) - x(1,0) * x(2,1) * x(3,2) + x(1,0) * x(2,2) * x(3,1) + x(1,1) * x(2,0) * x(3,2) - x(1,1) * x(2,2) * x(3,0) - x(1,2) * x(2,0) * x(3,1) + x(1,2) * x(2,1) * x(3,0));
#define XASSERTM(expr, msg)
Assertion macro definition with custom message.
T_ sqrt(T_ x)
Returns the square-root of a value.
T_ pow(T_ x, T_ y)
Returns x raised to the power of y.
T_ sqr(T_ x)
Returns the square of a value.
String stringify(const T_ &item)
Converts an item into a String.
@ grad
specifies whether the space should supply basis function gradients
std::uint64_t Index
Index data type.