]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Use the old scheme to compute the Jacobian matrices again. The one which uses Maple...
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Tue, 16 May 2000 13:34:23 +0000 (13:34 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Tue, 16 May 2000 13:34:23 +0000 (13:34 +0000)
git-svn-id: https://svn.dealii.org/trunk@2869 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/fe/q1_mapping.h
deal.II/deal.II/source/fe/q1_mapping.cc
deal.II/deal.II/source/fe/q1_mapping.jacobians.cc

index 298edb09b4f8d5b034704b22366766e9ae192e24..9867e1e8ac62265dbcf522267590ed217ece0c9d 100644 (file)
@@ -156,16 +156,6 @@ class FEQ1Mapping : public FiniteElement<dim>
                                 const FullMatrix<double>         &shape_values_transform,
                                 const vector<vector<Tensor<1,dim> > > &shape_grad_transform) const;
 
-                                    /**
-                                     * Compute the jacobian matrices
-                                     * of the mapping between unit
-                                     * and real cell at the given
-                                     * points on the unit cell.
-                                     */
-    static void compute_jacobian_matrices (const DoFHandler<dim>::cell_iterator &cell,
-                                          const vector<Point<dim> >            &unit_points,
-                                          vector<Tensor<2,dim> >               &jacobians);
-
                                     /**
                                      * Compute the gradients of the jacobian
                                      * matrices of the mapping between unit
index 97689773cc37872c65c040c246caa7caf32fa0cd..4545fbf7fc5d565b3d8d5e794ad8a99dbea58e94 100644 (file)
@@ -543,7 +543,7 @@ void FEQ1Mapping<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &cel
                                       vector<Point<dim> > &q_points,
                                       const bool           compute_q_points,
                                       const FullMatrix<double>      &shape_values_transform,
-                                      const vector<vector<Tensor<1,dim> > > &/*shape_grad_transform*/) const
+                                      const vector<vector<Tensor<1,dim> > > &shape_grad_transform) const
 {
   Assert ((!compute_jacobians) || (jacobians.size() == unit_points.size()),
          ExcWrongFieldDimension(jacobians.size(), unit_points.size()));
@@ -604,32 +604,6 @@ void FEQ1Mapping<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &cel
   However, we rewrite the loops to only compute the gradient once for
   each integration point and basis function.
 
-  Indeed, this was the old way we did it; the code is below. However, there
-  is a more efficient way, namely setting up M analytically, doing the
-  inversion analyically and only then doing the evaluation; a small Maple
-  script does this (it is part of the <lagrange> script in the <scripts>
-  subdirectory).
-  
-  if (compute_jacobians) 
-    {
-      FullMatrix<double> M(dim,dim);
-      for (unsigned int l=0; l<n_points; ++l) 
-       {
-         M.clear ();
-         for (unsigned int s=0; s<GeometryInfo<dim>::vertices_per_cell; ++s)
-           {
-                                              // we want the linear transform,
-                                              // so use that function
-             const Point<dim> gradient = shape_grad_transform[s][l];
-             for (unsigned int i=0; i<dim; ++i)
-               for (unsigned int j=0; j<dim; ++j)
-                 M(i,j) += vertices[s](i) * gradient(j);
-           };
-         jacobians[l].invert(M);
-       };
-    };
-
-
   One last note regarding whether we have to invert M or M transposed: it is
   easy to try out, by computing the gradients of a function on a distorted
   cell (just move one vertex) where the nodal values for linear elements
@@ -696,7 +670,34 @@ void FEQ1Mapping<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &cel
 */
 
   if (compute_jacobians)
-    compute_jacobian_matrices (cell, unit_points, jacobians);
+    {
+      if (dim == 1)
+       {
+         const double h = (cell->vertex(1)(0)-cell->vertex(0)(0));
+         
+         for (unsigned int point=0; point<n_points; ++point)
+           jacobians[point][0][0] = 1./h;
+       }
+      else
+                                        // 2d or 3d case
+       { 
+         Tensor<2,dim> M;
+         for (unsigned int l=0; l<n_points; ++l) 
+           {
+             M.clear ();
+             for (unsigned int s=0; s<GeometryInfo<dim>::vertices_per_cell; ++s)
+               {
+                                                  // we want the linear transform,
+                                                  // so use that function
+                 const Point<dim> gradient = shape_grad_transform[s][l];
+                 for (unsigned int i=0; i<dim; ++i)
+                   for (unsigned int j=0; j<dim; ++j)
+                     M[i][j] += vertices[s](i) * gradient(j);
+               };
+             jacobians[l] = invert (M);
+           };
+       };
+    };
   
   if (compute_jacobians_grad)
     compute_jacobian_gradients (cell, unit_points, jacobians_grad);
index b2a6ac9d181deb01d75926c6fa421e84016ceb51..220b8ee59bee8fe425133b5f0e0f1133f3bbcb36 100644 (file)
 
 #if deal_II_dimension == 1
 
-template <>
-void FEQ1Mapping<1>::compute_jacobian_matrices (const DoFHandler<1>::cell_iterator &cell,
-                                                   const vector<Point<1> > &unit_points,
-                                                   vector<Tensor<2,1> >    &jacobians) 
-{
-  Assert (unit_points.size() == jacobians.size(),
-         ExcWrongFieldDimension(jacobians.size(), unit_points.size()));
-
-  const double h = (cell->vertex(1)(0)-cell->vertex(0)(0));
-  
-  for (unsigned int point=0; point<unit_points.size(); ++point)
-    jacobians[point][0][0] = 1./h;
-};
-
-
 template <>
 void FEQ1Mapping<1>::compute_jacobian_gradients (const DoFHandler<1>::cell_iterator &,
                                                     const vector<Point<1> > &unit_points,
@@ -67,58 +52,6 @@ void FEQ1Mapping<1>::compute_jacobian_gradients (const DoFHandler<1>::cell_itera
 
 #if deal_II_dimension == 2
 
-template <>
-void FEQ1Mapping<2>::compute_jacobian_matrices (const DoFHandler<2>::cell_iterator &cell,
-                                               const vector<Point<2> > &unit_points,
-                                               vector<Tensor<2,2> >    &jacobians) 
-{
-  const unsigned int dim = 2;
-  
-  Assert (unit_points.size() == jacobians.size(),
-         ExcWrongFieldDimension(jacobians.size(), unit_points.size()));
-  
-  Point<dim> vertices[GeometryInfo<dim>::vertices_per_cell];
-  for (unsigned int l=0; l<GeometryInfo<dim>::vertices_per_cell; ++l)
-    vertices[l] = cell->vertex(l);
-
-  for (unsigned int point=0; point<unit_points.size(); ++point)
-    {      
-      const double xi = unit_points[point](0);
-      const double eta= unit_points[point](1);
-       
-      const double t6 = vertices[0](0)*vertices[3](1);
-      const double t8 = vertices[2](0)*xi;
-      const double t10 = vertices[1](0)*eta;
-      const double t12 = vertices[3](0)*vertices[1](1);
-      const double t16 = vertices[3](0)*xi;
-      const double t20 = vertices[0](0)*vertices[1](1);
-      const double t22 = vertices[0](0)*vertices[2](1);
-      const double t24 = t6*xi-t8*vertices[1](1)-t10*vertices[3](1)+
-                        t12*eta-vertices[3](0)*vertices[2](1)*eta-
-                        t16*vertices[0](1)+t16*vertices[1](1)-t12+
-                        vertices[3](0)*vertices[0](1)-t20*eta+t22*eta;
-      const double t28 = vertices[1](0)*vertices[3](1);
-      const double t31 = vertices[2](0)*eta;
-      const double t36 = t8*vertices[0](1)+vertices[1](0)*vertices[2](1)*xi-
-                        t28*xi+t10*vertices[0](1)-t31*vertices[0](1)+
-                        t31*vertices[3](1)+t20-t6-vertices[1](0)*
-                        vertices[0](1)+t28-t22*xi;
-      const double t38 = 1/(t24+t36);
-
-      jacobians[point][0][0] = (-vertices[0](1)+vertices[0](1)*xi-
-                               vertices[1](1)*xi+vertices[2](1)*xi+
-                               vertices[3](1)-vertices[3](1)*xi)*t38;
-      jacobians[point][0][1] = -(-vertices[0](0)+vertices[0](0)*xi-
-                                vertices[1](0)*xi+t8+vertices[3](0)-t16)*t38;
-      jacobians[point][1][0] = -(-vertices[0](1)+vertices[0](1)*eta+
-                                vertices[1](1)-vertices[1](1)*eta+
-                                vertices[2](1)*eta-vertices[3](1)*eta)*t38;
-      jacobians[point][1][1] = (-vertices[0](0)+vertices[0](0)*eta+
-                               vertices[1](0)-t10+t31-vertices[3](0)*eta)*t38;
-    };
-};
-
-
 template <>
 void FEQ1Mapping<2>::compute_jacobian_gradients (const DoFHandler<2>::cell_iterator &cell,
                                                     const vector<Point<2> > &unit_points,
@@ -202,1142 +135,6 @@ void FEQ1Mapping<2>::compute_jacobian_gradients (const DoFHandler<2>::cell_itera
 
 #if deal_II_dimension == 3
 
-template <>
-void FEQ1Mapping<3>::compute_jacobian_matrices (const DoFHandler<3>::cell_iterator &cell,
-                                                   const vector<Point<3> > &unit_points,
-                                                   vector<Tensor<2,3> >    &jacobians) 
-{
-  const unsigned int dim = 3;
-  
-  Assert (unit_points.size() == jacobians.size(),
-         ExcWrongFieldDimension(jacobians.size(), unit_points.size()));
-
-  Point<dim> vertices[GeometryInfo<dim>::vertices_per_cell];
-  for (unsigned int l=0; l<GeometryInfo<dim>::vertices_per_cell; ++l)
-    vertices[l] = cell->vertex(l);
-
-  for (unsigned int point=0; point<unit_points.size(); ++point)
-    {
-      const double xi  = unit_points[point](0);
-      const double eta = unit_points[point](1);
-      const double zeta= unit_points[point](2);
-
-      const double t1 = vertices[3](1)*vertices[4](2);
-      const double t2 = xi*xi;
-      const double t3 = vertices[5](1)*t2;
-      const double t4 = vertices[3](2)*eta;
-      const double t6 = vertices[7](1)*zeta;
-      const double t7 = t2*vertices[3](2);
-      const double t9 = t2*vertices[2](2);
-      const double t11 = t2*vertices[1](2);
-      const double t13 = vertices[4](1)*vertices[3](2);
-      const double t14 = vertices[4](1)*vertices[0](2);
-      const double t15 = t2*vertices[0](2);
-      const double t17 = vertices[0](1)*vertices[3](2);
-      const double t18 = vertices[1](1)*t2;
-      const double t20 = vertices[0](1)*vertices[7](2);
-      const double t21 = xi*eta;
-      const double t22 = t20*t21;
-      const double t24 = t1-t3*t4-t6*t7+t6*t9-t6*t11-t13+t14+t6*t15+t17+t18*t4-2.0*t22;
-      const double t25 = vertices[0](1)*vertices[6](2);
-      const double t26 = t25*t21;
-      const double t28 = 2.0*t17*t21;
-      const double t29 = vertices[0](1)*vertices[2](2);
-      const double t30 = t29*t21;
-      const double t31 = vertices[6](1)*t2;
-      const double t32 = zeta*vertices[1](2);
-      const double t34 = vertices[3](1)*vertices[0](2);
-      const double t35 = vertices[0](1)*vertices[4](2);
-      const double t36 = vertices[6](2)*eta;
-      const double t38 = vertices[5](1)*xi;
-      const double t39 = t38*t4;
-      const double t40 = vertices[2](2)*eta;
-      const double t42 = vertices[4](1)*t2;
-      const double t43 = zeta*vertices[3](2);
-      const double t45 = zeta*vertices[2](2);
-      const double t47 = t26+t28-t30+t31*t32-t34-t35-t3*t36+t39+t3*t40+t42*t43-t42*t45;
-      const double t50 = zeta*vertices[0](2);
-      const double t52 = vertices[7](2)*eta;
-      const double t57 = vertices[4](1)*zeta;
-      const double t58 = vertices[3](2)*xi;
-      const double t59 = t57*t58;
-      const double t61 = vertices[2](2)*xi;
-      const double t62 = t57*t61;
-      const double t63 = vertices[1](2)*xi;
-      const double t64 = t57*t63;
-      const double t68 = t42*t32-t42*t50-t42*t52+t42*t36+t42*t4-t42*t40-2.0*t59+t62-t64+2.0*t6*t58-t6*t61;
-      const double t69 = t6*t63;
-      const double t70 = vertices[0](2)*xi;
-      const double t71 = t6*t70;
-      const double t75 = vertices[3](1)*vertices[7](2);
-      const double t76 = xi*zeta;
-      const double t79 = vertices[3](1)*vertices[6](2);
-      const double t81 = vertices[3](1)*vertices[5](2);
-      const double t82 = t81*t76;
-      const double t83 = vertices[3](1)*t2;
-      const double t84 = t83*vertices[5](2);
-      const double t85 = t1*t76;
-      const double t87 = vertices[2](1)*xi;
-      const double t88 = eta*vertices[4](2);
-      const double t89 = t87*t88;
-      const double t90 = eta*vertices[0](2);
-      const double t91 = t87*t90;
-      const double t92 = t69-2.0*t71+t31*t43-t31*t45-2.0*t75*t76+t79*t76-t82-t84+2.0*t85-t89+t91;
-      const double t95 = vertices[6](1)*xi;
-      const double t97 = t95*t90;
-      const double t98 = vertices[0](1)*t2;
-      const double t104 = vertices[1](1)*xi;
-      const double t105 = t104*t52;
-      const double t107 = t104*t4;
-      const double t109 = t95*t88-t97+t98*t52-t98*t36-t98*t4+t98*t40-t18*t52+t105+t18*t36-t107-t18*t40;
-      const double t111 = 2.0*t57*t70;
-      const double t119 = vertices[6](2)*zeta;
-      const double t121 = vertices[5](2)*zeta;
-      const double t123 = vertices[4](2)*zeta;
-      const double t125 = t111-t31*t50-t3*t43+t3*t45-t3*t32+t3*t50+t3*t52-t38*t52-t83*t119+t83*t121-t83*t123;
-      const double t127 = vertices[3](1)*eta;
-      const double t128 = vertices[5](2)*xi;
-      const double t129 = t127*t128;
-      const double t130 = vertices[4](2)*xi;
-      const double t131 = t127*t130;
-      const double t133 = t127*t63;
-      const double t134 = t83*vertices[0](2);
-      const double t136 = 2.0*t127*t70;
-      const double t137 = vertices[2](1)*t2;
-      const double t138 = eta*vertices[5](2);
-      const double t140 = t87*vertices[0](2);
-      const double t142 = eta*vertices[1](2);
-      const double t145 = vertices[7](1)*eta;
-      const double t146 = t145*vertices[4](2);
-      const double t147 = -t129+2.0*t131+t133-t134-t136-t137*t138-t140+t137*t88+t137*t142-t137*t90+t146;
-      const double t148 = t14*xi;
-      const double t150 = t6*vertices[3](2);
-      const double t159 = vertices[7](2)*zeta;
-      const double t161 = -2.0*t148-t150+t31*t138-t31*t88-t31*t142+t31*t90+t83*t138-t83*t88-t83*t142+t83*t90+t83*t159;
-      const double t165 = t127*vertices[0](2);
-      const double t166 = vertices[0](1)*vertices[5](2);
-      const double t167 = t166*xi;
-      const double t168 = t1*xi;
-      const double t170 = vertices[4](1)*vertices[7](2);
-      const double t173 = vertices[4](1)*vertices[6](2);
-      const double t175 = t13*t21;
-      const double t177 = vertices[4](1)*vertices[2](2);
-      const double t178 = t177*t21;
-      const double t180 = t6*vertices[0](2);
-      const double t183 = t165-t167-2.0*t168+2.0*t170*t21-t173*t21-2.0*t175+t178-t137*t159+t180+t87*t159+t137*t119;
-      const double t186 = t87*t123;
-      const double t188 = t104*t159;
-      const double t192 = t104*t123;
-      const double t195 = -t137*t121+t137*t123-t186+t18*t159-t188-t18*t119+t18*t121-t18*t123+t192-t98*t159+t98*t119;
-      const double t200 = t95*t50;
-      const double t201 = t38*t43;
-      const double t202 = t38*t50;
-      const double t203 = t145*t70;
-      const double t205 = t20*t76;
-      const double t207 = t25*t76;
-      const double t208 = t166*t76;
-      const double t210 = 2.0*t35*t76;
-      const double t211 = -t98*t121+t98*t123-t95*t43+t200+t201-t202+2.0*t203+2.0*t205-t207+t208-t210;
-      const double t212 = t2*vertices[5](2);
-      const double t214 = t2*vertices[4](2);
-      const double t221 = t145*t63;
-      const double t222 = t42*vertices[3](2);
-      const double t223 = t170*eta;
-      const double t224 = t145*vertices[0](2);
-      const double t225 = t38*vertices[0](2);
-      const double t226 = -t145*t212+t145*t214+t145*t11-t145*t15+t145*t128-2.0*t145*t130-t221-t222-t223-t224+t225;
-      const double t229 = vertices[4](1)*vertices[1](2);
-      const double t230 = t229*xi;
-      const double t231 = t98*vertices[4](2);
-      const double t232 = t177*xi;
-      const double t233 = t81*xi;
-      const double t234 = t83*vertices[1](2);
-      const double t235 = t127*vertices[4](2);
-      const double t236 = t3*vertices[0](2);
-      const double t237 = t42*vertices[2](2);
-      const double t238 = t104*vertices[4](2);
-      const double t239 = t17*eta;
-      const double t240 = t29*xi;
-      const double t241 = t230-t231-t232+t233+t234-t235-t236+t237-t238-t239+t240;
-      const double t242 = t3*vertices[3](2);
-      const double t243 = t3*vertices[2](2);
-      const double t244 = t3*vertices[1](2);
-      const double t245 = t20*eta;
-      const double t246 = t17*xi;
-      const double t248 = t104*vertices[3](2);
-      const double t249 = t20*zeta;
-      const double t250 = t35*xi;
-      const double t252 = t35*zeta;
-      const double t253 = t83*vertices[4](2);
-      const double t254 = t137*vertices[5](2);
-      const double t255 = t242-t243+t244+t245-2.0*t246+t248-t249+2.0*t250+t252+t253+t254;
-      const double t257 = t137*vertices[4](2);
-      const double t258 = t137*vertices[1](2);
-      const double t259 = t137*vertices[0](2);
-      const double t260 = t18*vertices[5](2);
-      const double t261 = t18*vertices[4](2);
-      const double t262 = t98*vertices[5](2);
-      const double t263 = t75*zeta;
-      const double t264 = t1*zeta;
-      const double t265 = vertices[3](1)*vertices[1](2);
-      const double t266 = t265*xi;
-      const double t267 = t34*xi;
-      const double t269 = t87*vertices[4](2);
-      const double t270 = -t257-t258+t259-t260+t261+t262+t263-t264-t266+2.0*t267+t269;
-      const double t271 = t18*vertices[3](2);
-      const double t272 = t18*vertices[2](2);
-      const double t273 = t98*vertices[3](2);
-      const double t274 = t98*vertices[2](2);
-      const double t275 = t42*vertices[1](2);
-      const double t276 = t42*vertices[0](2);
-      const double t277 = t38*vertices[3](2);
-      const double t278 = t57*vertices[3](2);
-      const double t279 = t57*vertices[0](2);
-      const double t280 = t13*xi;
-      const double t282 = t13*eta;
-      const double t283 = -t271+t272+t273-t274-t275+t276-t277+t278-t279+2.0*t280+t282;
-      const double t288 = vertices[1](0)*eta;
-      const double t289 = zeta*zeta;
-      const double t290 = t288*t289;
-      const double t292 = vertices[0](0)*vertices[4](1);
-      const double t294 = vertices[7](0)*vertices[1](2);
-      const double t295 = zeta*vertices[2](1);
-      const double t296 = t295*xi;
-      const double t298 = eta*eta;
-      const double t299 = vertices[1](2)*t298;
-      const double t300 = vertices[4](0)*vertices[6](1);
-      const double t301 = t300*xi;
-      const double t303 = vertices[0](0)*eta;
-      const double t304 = t303*t289;
-      const double t306 = vertices[2](0)*zeta;
-      const double t307 = t306*vertices[0](1);
-      const double t308 = t2*vertices[7](2);
-      const double t309 = t308*eta;
-      const double t311 = t32*xi;
-      const double t314 = vertices[0](0)*vertices[7](1);
-      const double t315 = t43*xi;
-      const double t319 = t306*vertices[4](1);
-      const double t321 = t2*vertices[6](2);
-      const double t322 = t321*eta;
-      const double t324 = vertices[3](0)*vertices[1](1);
-      const double t325 = t2*eta;
-      const double t326 = t325*vertices[5](2);
-      const double t330 = vertices[3](1)*zeta;
-      const double t331 = vertices[4](0)*t2;
-      const double t332 = t331*vertices[0](2);
-      const double t334 = vertices[0](0)*vertices[3](1);
-      const double t336 = -t290*t148-t292*t52+t294*t296-t299*t301-t304*t232-t307*t309+2.0*t292*t311+2.0*t314*t315-t292*t61+t319*t309-t319*t322+t324*t326+t306*t244+t292*t9+t330*t332+t334*t128;
-      const double t337 = vertices[2](0)*t289;
-      const double t340 = vertices[1](0)*t298;
-      const double t341 = t340*zeta;
-      const double t344 = t95*vertices[4](2);
-      const double t346 = t95*vertices[0](2);
-      const double t348 = vertices[7](0)*vertices[0](2);
-      const double t349 = t325*vertices[5](1);
-      const double t353 = vertices[1](1)*zeta;
-      const double t354 = vertices[0](0)*vertices[5](2);
-      const double t355 = t354*xi;
-      const double t358 = vertices[0](0)*t289;
-      const double t362 = t138*zeta;
-      const double t363 = vertices[2](0)*xi;
-      const double t364 = t363*vertices[4](1);
-      const double t368 = vertices[7](1)*vertices[2](2)*xi;
-      const double t370 = vertices[1](1)*eta;
-      const double t371 = vertices[3](0)*vertices[5](2);
-      const double t372 = t371*xi;
-      const double t374 = t337*t280-t292*t63+t341*t269-t341*t140-t341*t344+t341*t346-t348*t349+t303*t232+t290*t280+2.0*t353*t355+t358*t232-t292*t7-t340*t269+2.0*t362*t364+t304*t368-t370*t372;
-      const double t378 = vertices[4](0)*vertices[0](2);
-      const double t380 = vertices[7](0)*eta;
-      const double t381 = t380*t289;
-      const double t384 = vertices[7](1)*vertices[1](2)*xi;
-      const double t387 = t303*zeta;
-      const double t390 = vertices[5](1)*eta;
-      const double t391 = t390*zeta;
-      const double t392 = vertices[1](0)*xi;
-      const double t393 = t392*vertices[4](2);
-      const double t396 = vertices[2](1)*t289;
-      const double t397 = vertices[0](0)*vertices[7](2);
-      const double t398 = t397*eta;
-      const double t400 = vertices[7](0)*zeta;
-      const double t401 = t400*vertices[1](1);
-      const double t402 = t138*xi;
-      const double t408 = t314*eta;
-      const double t409 = zeta*t2;
-      const double t410 = t409*vertices[3](2);
-      const double t412 = t409*vertices[2](2);
-      const double t415 = t340*t140+t340*t344+t378*t137+t381*t225-t304*t384-t340*t346+2.0*t387*t280+2.0*t391*t393+t396*t398-2.0*t401*t402+t303*t243+t303*t222-t303*t237+t408*t410-t408*t412+t303*t230;
-      const double t416 = t303*vertices[6](1);
-      const double t419 = vertices[4](0)*vertices[2](1);
-      const double t420 = t419*xi;
-      const double t422 = vertices[0](0)*vertices[1](2);
-      const double t424 = vertices[1](0)*t289;
-      const double t426 = vertices[1](0)*zeta;
-      const double t427 = t426*vertices[5](1);
-      const double t429 = vertices[0](0)*vertices[5](1);
-      const double t431 = vertices[5](0)*xi;
-      const double t432 = t431*vertices[0](2);
-      const double t436 = xi*vertices[7](2);
-      const double t437 = t436*eta;
-      const double t440 = vertices[1](0)*vertices[4](1);
-      const double t441 = t440*zeta;
-      const double t443 = vertices[5](1)*t298;
-      const double t444 = t443*zeta;
-      const double t445 = vertices[0](0)*vertices[2](2);
-      const double t446 = t445*xi;
-      const double t450 = vertices[3](0)*eta;
-      const double t451 = t450*vertices[0](2);
-      const double t457 = -t416*t410+t416*t412+t299*t420-t422*t145+t424*t148+t427*t309-t429*t9+t330*t432-2.0*t303*t280-2.0*t427*t437+t441*t322+t444*t446+2.0*t303*t248+2.0*t295*t451-t427*t322+2.0*t422*t127;
-      const double t460 = vertices[4](0)*vertices[0](1);
-      const double t464 = t303*vertices[4](1);
-      const double t467 = vertices[7](1)*vertices[0](2);
-      const double t469 = vertices[0](0)*vertices[1](1);
-      const double t470 = vertices[6](2)*xi;
-      const double t471 = t470*eta;
-      const double t480 = t76*vertices[0](1);
-      const double t486 = vertices[1](1)*t298;
-      const double t487 = t397*zeta;
-      const double t489 = t45*xi;
-      const double t492 = -t138*t460-t441*t309-t303*t242-2.0*t464*t311+t424*t467+t469*t471-t429*t58+t292*t43+2.0*t292*t58+t292*t4-t469*t58-2.0*t142*vertices[5](0)*t480-2.0*t408*t315+t429*t7+t486*t487+2.0*t408*t489;
-      const double t494 = xi*vertices[3](1);
-      const double t495 = t494*eta;
-      const double t498 = vertices[4](0)*t298;
-      const double t499 = t38*vertices[7](2);
-      const double t501 = vertices[4](0)*eta;
-      const double t504 = t426*vertices[0](1);
-      const double t505 = t58*eta;
-      const double t509 = vertices[0](0)*vertices[6](1);
-      const double t510 = t509*xi;
-      const double t512 = t426*vertices[2](1);
-      const double t513 = t21*vertices[4](2);
-      const double t517 = vertices[0](0)*t298;
-      const double t518 = t517*vertices[3](2);
-      const double t520 = t303*vertices[4](2);
-      const double t522 = vertices[3](0)*zeta;
-      const double t523 = t522*vertices[0](1);
-      const double t525 = vertices[0](0)*vertices[6](2);
-      const double t526 = t525*xi;
-      const double t528 = vertices[1](0)*vertices[6](1);
-      const double t530 = vertices[6](0)*eta;
-      const double t531 = t330*vertices[0](2);
-      const double t533 = t363*vertices[4](2);
-      const double t535 = 2.0*t45*vertices[1](0)*t495+t498*t499+t501*t271-t501*t272+2.0*t504*t505-t426*t222+t299*t510-2.0*t512*t513+t387*t237+t295*t518+t295*t520+t523*t309-t444*t526+t528*t315+t530*t531-t443*t533;
-      const double t537 = vertices[0](0)*zeta;
-      const double t541 = vertices[0](1)*vertices[6](0);
-      const double t544 = vertices[4](0)*vertices[2](2);
-      const double t545 = t544*xi;
-      const double t548 = vertices[4](1)*t298;
-      const double t549 = t548*zeta;
-      const double t551 = vertices[7](0)*vertices[5](2)*xi;
-      const double t553 = vertices[0](1)*t289;
-      const double t554 = t294*xi;
-      const double t557 = vertices[5](0)*eta;
-      const double t558 = t557*t289;
-      const double t560 = t522*t298;
-      const double t563 = vertices[7](1)*vertices[4](2);
-      const double t566 = vertices[3](0)*vertices[1](2);
-      const double t567 = t566*xi;
-      const double t569 = vertices[1](1)*t289;
-      const double t571 = t537*t248-t537*t242-t443*t446+t541*t315-t498*t277+2.0*t370*t545-t549*t551-t553*t554+t549*t554-t558*t250-t560*t269+t537*t243+t340*t563+t537*t222+t390*t567+t569*t432;
-      const double t572 = vertices[2](0)*vertices[1](2);
-      const double t573 = t31*zeta;
-      const double t575 = vertices[3](0)*t289;
-      const double t576 = t575*vertices[7](2);
-      const double t578 = t522*vertices[0](2);
-      const double t582 = t470*zeta;
-      const double t584 = t358*vertices[7](2);
-      const double t587 = vertices[3](0)*vertices[4](2);
-      const double t594 = vertices[7](0)*t289;
-      const double t595 = t594*vertices[0](2);
-      const double t597 = vertices[4](0)*t289;
-      const double t598 = t597*vertices[0](1);
-      const double t600 = t104*vertices[7](2);
-      const double t603 = -t572*t573-t390*t576-t443*t578+t501*t274-t537*t237-t469*t582+t390*t584+t560*t140+t486*t587-2.0*t387*t248+t424*t13+t560*t344-t560*t346+t370*t595-t138*t598-t498*t600+t443*t526;
-      const double t607 = vertices[4](0)*vertices[1](1);
-      const double t608 = t607*xi;
-      const double t614 = t587*zeta;
-      const double t618 = t501*vertices[6](1);
-      const double t619 = t409*vertices[0](2);
-      const double t623 = t450*vertices[4](2);
-      const double t626 = t530*zeta;
-      const double t629 = t330*t298;
-      const double t634 = 2.0*t362*t608+t498*t248+t387*t242+t390*t533-2.0*t390*t614-t387*t243-t618*t619-t387*t222+t306*t167+3.0*t353*t623-t626*t243-t340*t170-t629*t526-t45*t408+t626*t244-t626*t236;
-      const double t639 = vertices[6](0)*t298;
-      const double t640 = t639*zeta;
-      const double t641 = t20*xi;
-      const double t646 = t324*zeta;
-      const double t651 = t380*zeta;
-      const double t654 = t95*zeta;
-      const double t658 = t522*vertices[5](1);
-      const double t660 = -t340*t467+t306*t276-t626*t222+t460*t309+t640*t641+t626*t237-t640*t246+t537*t223+t646*t322+t522*t275-t522*t276-t537*t146+2.0*t651*t148+t422*t654+2.0*t651*t140+t658*t309;
-      const double t662 = vertices[7](1)*vertices[3](2);
-      const double t663 = t662*xi;
-      const double t667 = t530*t289;
-      const double t672 = vertices[3](0)*vertices[7](2);
-      const double t674 = t522*vertices[6](1);
-      const double t675 = t325*vertices[0](2);
-      const double t677 = t498*zeta;
-      const double t679 = vertices[2](2)*t289;
-      const double t680 = t679*eta;
-      const double t681 = t431*vertices[0](1);
-      const double t685 = t295*t298;
-      const double t690 = eta*vertices[4](1);
-      const double t691 = t690*vertices[0](2);
-      const double t693 = t424*t663+t340*t34-t390*t545-t667*t232-t358*t368-2.0*t658*t437-t569*t672+t674*t675+t677*t277-t680*t681-t658*t322+t358*t384-t685*t551-2.0*t324*t130+t537*t277+t522*t691;
-      const double t695 = vertices[6](0)*xi;
-      const double t696 = t695*vertices[4](2);
-      const double t698 = t431*vertices[3](1);
-      const double t702 = t557*zeta;
-      const double t705 = vertices[3](1)*t289;
-      const double t706 = t705*eta;
-      const double t708 = t522*eta;
-      const double t710 = vertices[3](0)*vertices[0](2);
-      const double t714 = vertices[3](0)*vertices[2](1);
-      const double t715 = t714*zeta;
-      const double t718 = t25*xi;
-      const double t721 = vertices[1](2)*vertices[6](0);
-      const double t722 = t21*vertices[4](1);
-      const double t725 = vertices[3](0)*vertices[7](1);
-      const double t726 = t725*zeta;
-      const double t727 = t325*vertices[4](2);
-      const double t730 = -t486*t397-t486*t696+t680*t698-2.0*t537*t280+2.0*t702*t280-t706*t554+t708*t276-t486*t710+2.0*t651*t167+2.0*t715*t513+t340*t718-t523*t322-t721*t722-t537*t282+t726*t727-t607*t7;
-      const double t734 = t36*t289;
-      const double t735 = t363*vertices[7](1);
-      const double t738 = t306*t298;
-      const double t740 = vertices[5](0)*t298;
-      const double t741 = t740*zeta;
-      const double t743 = t370*t289;
-      const double t744 = t695*vertices[0](2);
-      const double t746 = vertices[5](2)*t298;
-      const double t747 = t746*zeta;
-      const double t748 = t695*vertices[0](1);
-      const double t750 = t467*xi;
-      const double t754 = vertices[0](0)*vertices[3](2);
-      const double t756 = t337*eta;
-      const double t758 = vertices[4](1)*t289;
-      const double t759 = t758*vertices[0](2);
-      const double t761 = t758*vertices[3](2);
-      const double t764 = vertices[2](0)*vertices[0](1);
-      const double t766 = t390*t578-t734*t735-t522*t14-t738*t499+t741*t718+t743*t744-t747*t748-t558*t750+t741*t246+t738*t277-t353*t754-t756*t280-t557*t759+t557*t761+t460*t63-t764*t130;
-      const double t768 = vertices[7](0)*vertices[1](1);
-      const double t770 = vertices[3](0)*vertices[4](1);
-      const double t771 = t770*zeta;
-      const double t776 = zeta*vertices[0](1);
-      const double t777 = t776*vertices[3](2);
-      const double t781 = t594*vertices[0](1);
-      const double t784 = t594*vertices[3](2);
-      const double t786 = t370*zeta;
-      const double t791 = vertices[1](2)*t289;
-      const double t793 = t460*t61+t768*t727-t771*t309+t337*t14-t337*t467+t340*t13+t639*t777+t771*t322+t679*t464-t36*t781+t639*t180-t370*t784+2.0*t786*t432-t639*t531+t314*t88+t791*t748;
-      const double t795 = t6*vertices[4](2);
-      const double t797 = t695*vertices[4](1);
-      const double t799 = t334*eta;
-      const double t812 = vertices[6](2)*t298;
-      const double t813 = t812*zeta;
-      const double t814 = vertices[3](0)*vertices[5](1);
-      const double t815 = t814*xi;
-      const double t818 = vertices[7](1)*t289;
-      const double t819 = t818*vertices[3](2);
-      const double t822 = -t639*t795+t747*t797+2.0*t45*t799+t721*t21*vertices[0](1)-t558*t230+t558*t232-t607*t61+t738*t600-t738*t248+t340*t20-t340*t17+t558*t663+t813*t815-t558*t368-t557*t819-t381*t346;
-      const double t823 = t306*eta;
-      const double t825 = vertices[5](0)*vertices[1](2);
-      const double t826 = t31*eta;
-      const double t829 = vertices[1](0)*vertices[7](1);
-      const double t830 = t829*eta;
-      const double t835 = t537*vertices[5](1);
-      const double t846 = vertices[4](0)*vertices[7](1);
-      const double t847 = t846*eta;
-      const double t850 = t823*t275+t825*t826-t530*t761-t830*t410+t756*t148-t710*t573-t823*t276+t835*t322+2.0*t646*t437+t569*t587-t639*t249-t639*t278+t530*t759-t646*t309+t756*t168+t626*t242+2.0*t847*t315;
-      const double t857 = vertices[0](0)*vertices[2](1);
-      const double t858 = t857*xi;
-      const double t863 = t50*xi;
-      const double t866 = t690*t289;
-      const double t873 = vertices[1](0)*vertices[5](1);
-      const double t875 = vertices[1](0)*vertices[3](1);
-      const double t882 = t57*vertices[7](2);
-      const double t884 = -2.0*t557*t278-t747*t858+2.0*t557*t279+t829*t90-2.0*t847*t863+t866*t372-t557*t280-t557*t240+t557*t248-2.0*t847*t489-t873*t70-2.0*t875*t90-t740*t718+t740*t641+2.0*t847*t311-t740*t882;
-      const double t885 = t390*t289;
-      const double t886 = vertices[4](0)*vertices[1](2);
-      const double t887 = t886*xi;
-      const double t891 = vertices[6](1)*eta;
-      const double t892 = t891*t289;
-      const double t893 = t363*vertices[7](2);
-      const double t895 = vertices[1](0)*vertices[0](1);
-      const double t898 = vertices[0](1)*t298;
-      const double t899 = t898*vertices[7](2);
-      const double t902 = t557*vertices[7](1);
-      const double t909 = t587*xi;
-      const double t913 = t885*t887-t740*t246-t528*t326+t892*t893+t895*t128-t829*t50+t306*t899+t740*t240+t902*t410-t829*t88+t390*t887-t740*t180+t618*t410+t740*t531+2.0*t391*t909-t618*t412;
-      const double t915 = t409*vertices[1](2);
-      const double t917 = t818*vertices[0](2);
-      const double t919 = vertices[6](1)*t298;
-      const double t920 = t919*zeta;
-      const double t924 = vertices[3](0)*t2;
-      const double t925 = t924*vertices[1](2);
-      const double t931 = vertices[3](0)*vertices[6](2);
-      const double t932 = t931*xi;
-      const double t934 = vertices[1](0)*vertices[2](1);
-      const double t937 = t557*vertices[4](1);
-      const double t946 = t618*t915+t557*t917-t920*t554+t528*t727-t875*t326+t690*t925+t501*t277-3.0*t501*t248+t440*t70-t866*t932+t934*t70+t138*t420-2.0*t937*t489-2.0*t702*t140-2.0*t702*t148+2.0*t937*t311;
-      const double t949 = t429*eta;
-      const double t950 = t130*zeta;
-      const double t961 = vertices[7](1)*vertices[5](2)*xi;
-      const double t970 = t431*vertices[7](2);
-      const double t974 = 2.0*t501*t246-2.0*t949*t950-2.0*t902*t315-2.0*t902*t311+2.0*t902*t489+t875*t727+t677*t961+t740*t278-t747*t364-2.0*t702*t248-t501*t240-t847*t410+t740*t249-t920*t970-t885*t393-t740*t777;
-      const double t977 = t363*vertices[0](1);
-      const double t981 = t537*vertices[3](2);
-      const double t984 = t324*xi;
-      const double t986 = t498*vertices[7](2);
-      const double t990 = xi*vertices[7](1);
-      const double t991 = t990*eta;
-      const double t996 = t501*zeta;
-      const double t999 = t61*eta;
-      const double t1002 = t898*zeta;
-      const double t1005 = t747*t977+t746*t301-t337*t13-t486*t981-t741*t641-t813*t984+t295*t986+t847*t412+t607*t9+t825*t991+t575*t230-3.0*t875*t950-2.0*t996*t167-2.0*t469*t999-t1002*t372+t575*t368;
-      const double t1010 = t557*vertices[6](1);
-      const double t1012 = vertices[7](0)*vertices[0](1);
-      const double t1026 = -t575*t384-t892*t533-t501*t273-t306*t260+t1010*t412+t1012*t326+t651*t274+t306*t261+t522*t245-t396*t587-2.0*t996*t246+t306*t262-2.0*t426*t167-t306*t231+t873*t9+t892*t545;
-      const double t1031 = t306*vertices[6](1);
-      const double t1037 = t400*vertices[3](1);
-      const double t1040 = t575*vertices[4](1);
-      const double t1042 = t348*xi;
-      const double t1044 = t390*xi;
-      const double t1051 = -t522*t240-2.0*t996*t277-t1031*t326+t747*t510-t501*t225+t679*t681+t501*t167+t138*t1037+t501*t180-t138*t1040-t743*t1042-t294*t1044+4.0*t996*t248+t501*t140+t396*t672+t891*t595;
-      const double t1053 = t575*eta;
-      const double t1058 = t325*vertices[1](2);
-      const double t1069 = t486*zeta;
-      const double t1072 = t1031*t727+t1053*t232+t440*t7+t902*t915+t290*t750+t1031*t1058-t741*t240-t557*t230-t1053*t230-t557*t180+t557*t232-t440*t9+t440*t61+t45*t847+t557*t148+t1069*t545-t1010*t410;
-      const double t1084 = t557*vertices[0](1);
-      const double t1085 = t159*xi;
-      const double t1089 = t321*zeta;
-      const double t1091 = t548*vertices[7](2);
-      const double t1095 = vertices[3](0)*vertices[2](2);
-      const double t1096 = t1095*zeta;
-      const double t1102 = t212*zeta;
-      const double t1104 = -t1031*t675-t1053*t368+t738*t266+t440*t52-t885*t545-t1010*t915+t370*t355+t1053*t384-2.0*t1084*t1085+t1069*t696+t875*t1089-t306*t1091-2.0*t440*t58-2.0*t1096*t370*xi+2.0*t1096*t1044-t875*t1102;
-      const double t1105 = vertices[7](1)*t298;
-      const double t1106 = t1105*vertices[0](2);
-      const double t1109 = vertices[7](0)*vertices[4](2);
-      const double t1110 = t1109*xi;
-      const double t1115 = t594*vertices[3](1);
-      const double t1119 = vertices[3](1)*t298;
-      const double t1120 = t1119*vertices[0](2);
-      const double t1122 = vertices[4](0)*zeta;
-      const double t1123 = t1122*vertices[3](2);
-      const double t1127 = t214*zeta;
-      const double t1129 = t557*vertices[2](1);
-      const double t1130 = t308*zeta;
-      const double t1133 = t557*vertices[1](1);
-      const double t1139 = -t306*t1106+t337*t224+t486*t1110+2.0*t823*t225+t486*t348+t36*t1115-2.0*t440*t4+t306*t1120+t919*t1123-2.0*t823*t167+t875*t1127+t1129*t1130+t875*t402-2.0*t1133*t950+t1133*t1089-3.0*t875*t513;
-      const double t1141 = t396*eta;
-      const double t1142 = vertices[7](0)*vertices[3](2);
-      const double t1143 = t1142*xi;
-      const double t1145 = t1105*vertices[4](2);
-      const double t1151 = t90*xi;
-      const double t1154 = t79*xi;
-      const double t1156 = t306*vertices[7](1);
-      const double t1168 = -t1141*t1143+t306*t1145-t1129*t1089-2.0*t1129*t1085-t895*t52+2.0*t875*t1151+t756*t1154+t1156*t675+t708*t244-t1133*t1130-t708*t236+2.0*t1133*t1085+t560*t718-t560*t240+t895*t58+2.0*t895*t4;
-      const double t1180 = t1122*vertices[7](1);
-      const double t1184 = t299*zeta;
-      const double t1189 = t145*t289;
-      const double t1195 = 4.0*t708*t230-t895*t61-t873*t7-2.0*t708*t232-t45*t464-2.0*t708*t148+t934*t326-t934*t727-t746*t1180+2.0*t875*t1085-t1184*t510-2.0*t708*t140-t486*t1109-t1189*t526+t667*t600+2.0*t996*t225+t396*t744;
-      const double t1199 = t128*zeta;
-      const double t1204 = t431*vertices[3](2);
-      const double t1207 = t392*vertices[7](2);
-      const double t1210 = t409*vertices[2](1);
-      const double t1220 = -t875*t582+2.0*t875*t1199-t575*t232-t330*t545-t295*t1204-t607*t70+t920*t1207-t677*t384-t294*t1210+t566*t573+2.0*t306*t235-t501*t531+t469*t61-t306*t233+t575*t600+t522*t146;
-      const double t1223 = t400*vertices[0](2);
-      const double t1225 = t1122*vertices[3](1);
-      const double t1234 = vertices[3](0)*vertices[0](1);
-      const double t1237 = t378*xi;
-      const double t1241 = t501*t289;
-      const double t1242 = t95*vertices[3](2);
-      const double t1244 = t409*vertices[3](1);
-      const double t1247 = 2.0*t522*t148+t390*t1223-2.0*t138*t1225-t138*t1115+t558*t168+t288*t14+t1184*t364+t522*t140+t738*t168+t1234*t1089+t426*t17-2.0*t330*t1237+t306*t168-t1241*t1242+t294*t1244-t381*t167;
-      const double t1254 = t142*t289;
-      const double t1255 = vertices[3](0)*vertices[6](1);
-      const double t1256 = t1255*xi;
-      const double t1261 = t1122*vertices[7](2);
-      const double t1263 = t563*xi;
-      const double t1266 = vertices[5](0)*vertices[0](1);
-      const double t1271 = t314*t412+t756*t663+t1241*t346-t756*t750-t306*t267-t1254*t1256+t1241*t277-t1241*t225+t1254*t815-t919*t1261+t740*t1263+t891*t614+t1266*t437+t743*t1204+t337*t282-t337*t691;
-      const double t1273 = t75*xi;
-      const double t1276 = t548*vertices[3](2);
-      const double t1284 = t898*vertices[3](2);
-      const double t1287 = t87*eta;
-      const double t1291 = t710*xi;
-      const double t1295 = t873*t58+t337*t1273+t557*t238+t306*t1276-t337*t1154+t340*t180+t557*t249+t390*t784+t348*t1210-t358*t230-t306*t1284-t557*t250+2.0*t422*t1287-t823*t244-t443*t1291+t337*t233+t651*t257;
-      const double t1302 = t501*vertices[0](1);
-      const double t1308 = t95*eta;
-      const double t1313 = vertices[4](0)*vertices[6](2);
-      const double t1314 = t1313*xi;
-      const double t1321 = vertices[0](1)*eta;
-      const double t1322 = t1321*t289;
-      const double t1326 = t469*t52+t1302*t1089-t337*t168+t823*t236-2.0*t440*t43-t422*t1308+t1184*t748+t791*t1256-t738*t641+t444*t1314+t306*t277-t746*t771-2.0*t362*t420+t734*t364+t1322*t545+2.0*t440*t50;
-      const double t1327 = vertices[5](0)*vertices[1](1);
-      const double t1338 = t422*zeta;
-      const double t1344 = t288*zeta;
-      const double t1350 = t1327*t309-t1184*t797+2.0*t288*t252+t738*t246-2.0*t823*t230-t1084*t1089-t1141*t744-t875*t1130-2.0*t1338*t1287-t740*t750+t381*t718+t1189*t932-4.0*t1344*t280-t829*t1151-t626*t257-t626*t258;
-      const double t1366 = t45*t298;
-      const double t1367 = t392*vertices[7](1);
-      const double t1371 = -t290*t1154-t895*t1085+t522*t236-t679*t1302-t1344*t237+t895*t582-t626*t260+t626*t259+t290*t233-2.0*t440*t437+t306*t266-t875*t214-t934*t212+t1366*t1367+t626*t261-t290*t168;
-      const double t1378 = t875*eta;
-      const double t1387 = vertices[1](1)*vertices[6](0);
-      const double t1390 = -t1184*t977+t440*t471+t934*t1130-t651*t234-t791*t815-t651*t253+t1378*t1130-t522*t244+t566*t3-t1378*t1089-t768*t326+t934*t214+t651*t134-t679*t1012-t1387*t315-t651*t254;
-      const double t1393 = vertices[5](0)*t2;
-      const double t1394 = t1393*vertices[1](2);
-      const double t1398 = t1105*zeta;
-      const double t1415 = t330*t1394+t340*t168-t651*t259+t1398*t545-2.0*t523*t437+t919*t487-t306*t17-t340*t267+t530*t819+t1327*t412+t1327*t7+t740*t795-t651*t261-2.0*t786*t355+t443*t614+2.0*t523*t999;
-      const double t1421 = t306*vertices[3](1);
-      const double t1431 = t498*vertices[3](1);
-      const double t1437 = -t566*t42+t306*t13-3.0*t522*t230+t651*t260+2.0*t1421*t402+t1387*t410+t522*t232-t651*t262-t522*t223+t651*t231-2.0*t1421*t513+t45*t1431-t1241*t718+t746*t364-t306*t14+t324*t1130;
-      const double t1440 = t400*vertices[0](1);
-      const double t1443 = t142*xi;
-      const double t1462 = -t522*t224+t812*t1440-t522*t225-2.0*t1421*t1443-t902*t619+2.0*t1421*t1151+t522*t167-t651*t272-2.0*t288*t279-2.0*t1378*t1085+t1266*t58+t380*t252+t509*t410-2.0*t651*t233-t1254*t748+t791*t698;
-      const double t1483 = t334*t159-2.0*t334*t130+t829*t326+t517*t277-t829*t727+t295*t754+t1254*t510-t334*t123+2.0*t651*t168+t444*t744-t829*t402+t541*t727+t288*t242+2.0*t651*t266+t1012*t311+t426*t254-t426*t257;
-      const double t1508 = -t919*t1223+t639*t264+2.0*t829*t513-t341*t168+t1322*t554-2.0*t651*t267+t919*t578-2.0*t651*t269-2.0*t319*t437-t396*t372-t381*t1154+t341*t267-t569*t1237-t486*t526+2.0*t319*t505-t1327*t9;
-      const double t1511 = t705*vertices[7](2);
-      const double t1514 = t695*vertices[3](1);
-      const double t1521 = t768*xi;
-      const double t1524 = t292*zeta;
-      const double t1527 = t705*vertices[4](2);
-      const double t1530 = t626*t253+t340*t264-t288*t1511+t381*t233+t1254*t1514-t934*t1089+t626*t234-t626*t134+t569*t526+t626*t254+t813*t1521+t1398*t526+t1524*t309+t825*t494+t288*t1527+t290*t1273;
-      const double t1537 = t400*vertices[4](2);
-      const double t1549 = vertices[2](0)*vertices[1](1);
-      const double t1551 = -t528*t863+t509*t513+2.0*t702*t269-t337*t167+t919*t1537-t558*t1273+t424*t1154-t557*t258+t501*t34-t885*t909+t548*t551-t424*t233-t557*t134-t424*t1+t337*t250-t1549*t70;
-      const double t1556 = vertices[0](0)*vertices[4](2);
-      const double t1557 = t1556*xi;
-      const double t1565 = t575*vertices[7](1);
-      const double t1572 = vertices[7](0)*vertices[2](1)*xi;
-      const double t1575 = -t667*t168+t557*t259-t572*t3+t1156*t326+t390*t1557-t314*t43+t424*t168+t469*t130+2.0*t292*t437-t1156*t727+t138*t1565+t791*t292-t334*t212+t334*t214-t292*t471+t734*t1572+t702*t134;
-      const double t1589 = t426*vertices[6](1);
-      const double t1598 = -t1156*t1058+t324*t582+t651*t271-t702*t234+t530*t252+t138*t781-t702*t259+t702*t258-2.0*t460*t58+t548*t567+t1589*t326-t1589*t727-2.0*t1156*t402-t626*t231+t460*t52+2.0*t1156*t513;
-      const double t1599 = t426*vertices[3](1);
-      const double t1609 = t400*vertices[4](1);
-      const double t1619 = t170*xi;
-      const double t1623 = t1599*t326-t1599*t727+2.0*t1156*t1443+t640*t233-t306*t238+t857*t212+t640*t267-t444*t909+t746*t1609-2.0*t1599*t402+2.0*t390*t1123+t390*t446+4.0*t1599*t513+t288*t819-t341*t1619-2.0*t1599*t1151;
-      const double t1633 = t557*vertices[3](1);
-      const double t1640 = t553*vertices[7](2);
-      const double t1642 = t553*vertices[4](2);
-      const double t1644 = -t640*t266-t640*t168-t334*t88-t512*t326-t530*t1511+t1254*t681-t1254*t698-t509*t315-t1633*t1130+t341*t1263-t557*t263+t740*t267+t288*t225-t314*t326+t288*t1640-t288*t1642;
-      const double t1655 = t173*xi;
-      const double t1665 = t87*vertices[7](2);
-      const double t1667 = t1633*t1089+t314*t727+t314*t402-t740*t168-t288*t150+t1141*t1042-2.0*t314*t513+t341*t280+t340*t1619-t340*t1655+t314*t1443+2.0*t557*t264-t791*t510-t557*t269-t557*t266+2.0*t1633*t1085-t304*t1665;
-      const double t1681 = t429*xi;
-      const double t1686 = t138*t289;
-      const double t1692 = -t341*t232-t337*t346+t304*t269-2.0*t1633*t950-t741*t267+t741*t168-2.0*t557*t252+t791*t1681+t768*t88+t304*t600-t740*t264+t1686*t1521-t304*t238+t337*t1242+t337*t718+t557*t1511;
-      const double t1710 = vertices[3](0)*t298;
-      const double t1711 = t1710*vertices[4](2);
-      const double t1716 = t768*t1151-2.0*t768*t513+t764*t1130-t1254*t1681-3.0*t426*t235+t557*t234-t337*t277+2.0*t702*t240+t337*t225-2.0*t1156*t1151-2.0*t422*t57+t426*t267+t295*t1711-t557*t1527+t426*t269+t651*t84;
-      const double t1724 = t288*vertices[2](1);
-      const double t1729 = t501*vertices[1](1);
-      const double t1731 = t303*vertices[2](1);
-      const double t1740 = -t424*t1273-t337*t641+2.0*t702*t266-t337*t75+t337*t1-t1724*t1130+2.0*t1724*t1085+t358*t238-t1729*t1089-2.0*t1731*t1085-t378*vertices[3](1)-t1302*t1130-t1731*t1089-t288*t35+t1724*t1089+t340*t750;
-      const double t1741 = t895*eta;
-      const double t1745 = t469*eta;
-      const double t1753 = t142*zeta;
-      const double t1760 = t517*zeta;
-      const double t1767 = -2.0*t1741*t950-t677*t233+2.0*t1745*t950-4.0*t996*t266+t677*t266-t340*t1263-t768*t90+2.0*t1753*t1681+t290*t1242-t290*t277-t290*t346-t340*t1-t1760*t961-2.0*t426*t35+2.0*t996*t267+t1760*t384;
-      const double t1787 = 2.0*t1753*t977+t1241*t167+t290*t225-t1241*t233+t303*t150-t341*t750-t857*t1130-t996*t134-t290*t641+t857*t1085+t142*t598+t424*t75+t290*t250-t996*t258+t290*t718+t857*t1089;
-      const double t1805 = t460*vertices[3](2)-t290*t167+t469*t1085-t340*t641+t996*t259-2.0*t469*t950+t306*t223-t857*t326+t626*t272+t857*t727-t651*t273+t324*t128+t509*t326+t651*t275+t324*t159-t509*t727;
-      const double t1809 = t829*zeta;
-      const double t1818 = t314*zeta;
-      const double t1824 = t501*vertices[2](1);
-      const double t1830 = -t651*t276-t934*t130+t1809*t727-t426*t243+t334*t326-t334*t727-t424*t718+2.0*t1809*t402-t501*t150+t1818*t326-2.0*t1809*t513-t424*t1242-t1818*t727-t1824*t1130-2.0*t1818*t402+2.0*t1818*t513;
-      const double t1851 = t424*t346-t548*t554+t424*t277-t424*t225+t424*t641+t517*t961-t517*t384-t303*t238-2.0*t1729*t1085+t1729*t1130+t1053*t238+t424*t167-t424*t250-2.0*t324*t88+t426*t240-2.0*t1524*t437-t1809*t326;
-      const double t1874 = t288*t250+t358*t1665+2.0*t1824*t1085+t1824*t1089-t358*t269+2.0*t441*t437+t306*t35+t340*t232-t358*t600+t288*t263+t340*t777+2.0*t771*t437+t1760*t233-t378*t83-t1760*t266-t875*vertices[4](2);
-      const double t1877 = t2*vertices[7](1);
-      const double t1878 = t1877*eta;
-      const double t1885 = vertices[4](0)*vertices[3](1);
-      const double t1893 = t380*vertices[1](1);
-      const double t1897 = t400*vertices[3](2);
-      const double t1899 = t626*t276-t530*t777+t886*t1878+t721*t1210-t396*t450*vertices[7](2)+t743*t355+t569*t378+t138*t1885-t886*t826+t396*t380*vertices[3](2)-t575*t1665+t857*t130+t575*t269+2.0*t1893*t489+t746*t523+t370*t1897;
-      const double t1921 = -t370*t432+t334*t1130+2.0*t875*t88-t875*t128+2.0*t875*t130+2.0*t1302*t1085-t498*t961-t334*t1089-t501*t249+t1184*t301+t334*t63+t892*t554+2.0*t875*t123-t560*t1655+t334*t1102-t334*t1127;
-      const double t1943 = t626*t273-t626*t271+2.0*t334*t513+t560*t232+t1053*t1665-2.0*t334*t1443-t1053*t269-t1053*t600+t920*t551-t875*t70+t443*t545-t857*t214-t530*t279+t702*t274+t726*t1058+2.0*t1321*t567-2.0*t1321*t909;
-      const double t1946 = t1877*zeta;
-      const double t1949 = t990*zeta;
-      const double t1960 = t325*vertices[4](1);
-      const double t1966 = t1122*vertices[0](1);
-      const double t1970 = xi*vertices[4](1);
-      const double t1974 = -t566*t1946+t776*t567-t572*t1949+t572*t1946-t626*t274+t885*t533-t390*t487-2.0*t1321*zeta*t567+2.0*t460*t315+t721*t1960-t726*t675+t569*t1042-t746*t314-t640*t600+2.0*t138*t1966-2.0*t138*vertices[1](0)*t1970*zeta;
-      const double t1985 = t392*vertices[3](2);
-      const double t1997 = -t460*t410-t541*t513-t443*t587+t142*t1115-t721*t349+t460*t412+2.0*t294*t722+2.0*t726*t402+t295*t1985+t640*t248-2.0*t726*t513-t626*t275+t679*t450*vertices[7](1)+t746*t846-t886*vertices[0](1)-2.0*t334*t1085;
-      const double t2000 = t1885*eta;
-      const double t2005 = t469*zeta;
-      const double t2008 = t754*eta;
-      const double t2022 = vertices[4](0)*vertices[3](2);
-      const double t2024 = t764*t326+t679*t2000-t667*t148-4.0*t708*t238+2.0*t2005*t999+2.0*t353*t2008-t569*t1143+2.0*t708*t250-t422*vertices[3](1)+t334*t582-t768*t863-t334*t1199+t443*t710+2.0*t334*t950+t390*t754-t390*t2022;
-      const double t2031 = t1321*vertices[4](2);
-      const double t2033 = vertices[7](0)*vertices[4](1);
-      const double t2035 = vertices[7](0)*t298;
-      const double t2036 = t2035*vertices[4](1);
-      const double t2039 = vertices[2](0)*vertices[0](2);
-      const double t2045 = vertices[4](0)*vertices[5](1);
-      const double t2046 = t2045*eta;
-      const double t2052 = t443*t397+t443*t1109-t337*t145*vertices[3](2)-t443*t348-t690*t355+t337*t2031-t746*t2033+t45*t2036+t530*t278+t2039*t3-2.0*t138*t1524+t741*t140-t138*t770+2.0*t2046*t489-t738*t280+t738*t1619+t138*t292;
-      const double t2074 = t358*vertices[7](1);
-      const double t2080 = -2.0*t142*t1966+t142*t726-t1012*t412+t1012*t410+t1266*t322+3.0*t142*t1225-t746*t510+t746*t858-2.0*t353*t432+t741*t344-t756*t1242-t741*t346+t142*t2074+t299*t771+t299*t1440+2.0*t726*t1151;
-      const double t2092 = t397*xi;
-      const double t2098 = -t1398*t1314-t756*t225+t756*t277+t522*t35+t557*t140+t557*t777+t738*t750-t2039*t42+t299*t797-t575*t238+t426*t237-t920*t2092+t710*t1946+t847*t619-t142*t1565+t142*t1040;
-      const double t2114 = vertices[7](0)*vertices[2](2)*xi;
-      const double t2120 = -t138*t726+t756*t641+t138*t977+t702*t271+t304*t230-t726*t326-t702*t272-t702*t273-2.0*t142*t977-t501*t259+t501*t258+t640*t499-t1322*t2114+t553*t887+t553*t2114-2.0*t830*t489;
-      const double t2130 = vertices[0](2)*vertices[6](0);
-      const double t2132 = t358*vertices[4](2);
-      const double t2141 = t738*t961-t791*t314-t738*t1263-t1686*t608-t667*t1665+t640*t280-t640*t277+t679*t815+t667*t280+t2130*t722-t390*t2132-t738*t384+t746*t770+2.0*t823*t238+t756*t167+2.0*t1302*t311;
-      const double t2145 = vertices[7](0)*vertices[3](1);
-      const double t2158 = t2022*xi;
-      const double t2163 = -t1398*t446-t791*t2145-t541*t410+t1012*t489-t679*t1256-t443*t1123+t746*t1012+t138*t1234-t756*t250+t541*t412+t756*t346-t857*t513+t710*t42-t920*t2158+3.0*t522*t238+t743*t1143;
-      const double t2175 = t295*eta;
-      const double t2180 = t597*vertices[3](1);
-      const double t2186 = -t1266*t412-2.0*t460*t311-t1322*t887+t1266*t410-2.0*t886*t991-2.0*t522*t250-t741*t269+t380*t531+2.0*t2175*t355+t667*t250+t396*t1204-t142*t2180-t710*t3-t537*t254-t299*t334-t2000*t1089;
-      const double t2193 = vertices[5](0)*vertices[0](2);
-      const double t2199 = t1710*vertices[4](1);
-      const double t2209 = t557*t272-2.0*t324*t123+t528*t412+t498*t233+t2193*t1878-t299*t1012-t498*t266+t36*t523-t299*t770-t45*t2199-t812*t1609+t501*t263-2.0*t651*t250+2.0*t651*t238-t380*t264-t530*t264;
-      const double t2213 = t2035*vertices[0](1);
-      const double t2224 = t363*vertices[0](2);
-      const double t2233 = t640*t384-t791*t770+t537*t257-t45*t2213-t640*t1619-t501*t233-t799*t1130+t812*t1180+t36*t598+3.0*t501*t266-2.0*t501*t267+t353*t2224-2.0*t1729*t489+t557*t273-2.0*t1012*t315-t45*t334-t557*t274;
-      const double t2254 = t667*t269+t791*t725-t743*t432-t142*t292+t799*t1089-t381*t277+2.0*t2000*t1199+t390*t587+t895*t437-t920*t1985-t501*t234-t875*t159+t1010*t619-t1266*t309+t443*t909-t791*t460;
-      const double t2255 = t2035*zeta;
-      const double t2258 = t672*xi;
-      const double t2273 = -t2255*t232+t2255*t1655+t885*t2258-t324*vertices[0](2)-t299*t748+t142*t460+t558*t148-t679*t408+t501*t134+t381*t1242-t378*t1878+t558*t238+t679*t510+t679*t314-t138*t608+t501*t777;
-      const double t2278 = t857*zeta;
-      const double t2283 = t392*vertices[3](1);
-      const double t2287 = t380*vertices[4](1);
-      const double t2289 = t450*vertices[4](1);
-      const double t2293 = t380*vertices[0](1);
-      const double t2298 = -t557*t14-t378*t1308-t299*t364+t2278*t326-t558*t269+t558*t1665+t710*t654-t1366*t2283-2.0*t710*t1949-t45*t2287+2.0*t45*t2289-t734*t1521+t45*t2293-t142*t1037-t640*t750+t640*t1263;
-      const double t2314 = t330*xi;
-      const double t2317 = -t640*t961+t812*t771+t36*t2074+t138*t2180-t667*t641-t667*t238-t679*t1681+t558*t641+t741*t750+t679*t770-t679*t725-t2278*t727+t639*t882-t866*t355-t708*t260-2.0*t294*t2314;
-      const double t2336 = t299*t977-t558*t280-t2193*t826+t708*t262+t537*t235+t45*t1234+t740*t269-t708*t231+t708*t261+t734*t1367+t32*t334-t522*t2031-t2193*t991+t299*t2033-t740*t140+t299*t1234;
-      const double t2349 = t924*vertices[0](2);
-      const double t2356 = t517*t266-t303*t263-t740*t344-t36*t1565+t36*t1040+t791*t1885-2.0*t2000*t1085+2.0*t799*t1085+t892*t909+t740*t346+t390*t2349+t299*t1885-t530*t1642+t530*t1640-t469*vertices[4](2)-t557*t271;
-      const double t2375 = -t679*t292+t299*t314-t685*t1207-t569*t355-t522*t261-t486*t1042+t444*t533+2.0*t348*t2314-t741*t1263-t569*t932+t569*t372+t460*t471+t886*t1308-t557*t531+t294*t330+t294*t1321;
-      const double t2385 = t450*vertices[0](1);
-      const double t2394 = t517*vertices[3](1);
-      const double t2396 = t522*t231-t522*t262-t996*t274+t740*t280+t740*t1655-t674*t727+t674*t326+t45*t1681-t32*t1234-2.0*t45*t2385-t45*t815+t306*t691+t45*t984-t741*t280-t741*t1655+t741*t1619-t45*t2394;
-      const double t2401 = t517*vertices[7](1);
-      const double t2403 = t575*vertices[4](2);
-      const double t2407 = t537*vertices[3](1);
-      const double t2418 = xi*vertices[0](1);
-      const double t2423 = t45*t2401+t390*t2403+t741*t232+t629*t1314+2.0*t2407*t1443-t677*t248+2.0*t566*t690+t886*t87+t677*t600+t422*t6+t422*t38+t746*t334+t572*t2418-t626*t84-t740*t1619-t674*t1058;
-      const double t2441 = -t299*t846-t558*t600+t679*t2145-t348*t1244+t680*t1681+t891*t576+t1189*t355-t1189*t372-t651*t237-t823*t261-2.0*t886*t127-t1366*t1521-t1366*t815+t45*t1302-t679*t748-t679*t698;
-      const double t2448 = t392*vertices[4](1);
-      const double t2455 = t358*vertices[4](1);
-      const double t2462 = 2.0*t886*t776+t32*t2287+t138*t1818+t680*t1256+t138*t2448-t680*t815-t823*t262-t1686*t1572+t2130*t349-t2130*t1960+t138*t2455-t299*t523-t746*t420-t341*t246+t747*t420-t45*t770;
-      const double t2474 = t537*vertices[6](1);
-      const double t2482 = t823*t231+t324*t70+t885*t1207-t747*t301-2.0*t348*t722-t348*t330-t2130*t1210+t348*t1044+t2130*t1244-t517*t248+t2474*t727+t1141*t2158-t2407*t326-t677*t499-t299*t1609-2.0*t886*t330;
-      const double t2486 = vertices[4](0)*vertices[7](2);
-      const double t2489 = t498*vertices[7](1);
-      const double t2505 = t680*t748-t443*t2486-t680*t1514-t45*t2489+t348*t1960+t679*t460+t2407*t727-t679*t1885-t825*t2418-t45*t681-t1266*t315-t1234*t582+2.0*t1234*t1085-t306*t2031+t396*t623-2.0*t2407*t513;
-      const double t2506 = t288*vertices[6](1);
-      const double t2519 = t431*vertices[7](1);
-      const double t2526 = t2506*t410+t996*t273-t45*t2283-t36*t2455+t299*t1180-t348*t296-2.0*t460*t437+t443*t2022+t522*t260+t996*t272-t813*t698+t813*t2519-2.0*t306*t165-t306*t225+t306*t224+t306*t230;
-      const double t2550 = t288*t759-t288*t761+2.0*t1344*t277-t290*t663-t306*t146-t1344*t242-t340*t249-t299*t858-t340*t278-2.0*t307*t505+2.0*t306*t239-t306*t248+2.0*t1344*t167-t288*t277-2.0*t426*t277-2.0*t288*t140;
-      const double t2572 = -t288*t148-t288*t167-2.0*t288*t232+t830*t412-t746*t2407+t746*t1225+t746*t1818-t337*t663-t829*t412+t829*t410+2.0*t895*t999-2.0*t895*t505-t895*t471-t528*t410+t829*t863+t829*t489-2.0*t829*t315;
-      const double t2592 = t1002*t551+t734*t608+t299*t2407+t813*t2283+t812*t2407+t36*t1524-t812*t1225-t142*t2455-t36*t1966+t36*t1225-t813*t1367-t812*t1818-t734*t420+t138*t2407-t1686*t364-t299*t1818;
-      const double t2612 = t1686*t420-t679*t380*vertices[3](1)-t142*t781-t299*t1225-t138*t1440+t2000*t1130+2.0*t378*t991-t746*t797+t746*t748+t1686*t735-t746*t977-t36*t2407+t498*t384+t651*t236-t721*t480-2.0*t825*t2314;
-      const double t2628 = vertices[7](0)*vertices[5](1)*xi;
-      const double t2634 = 2.0*t825*t480-t721*t1244+t892*t393-t2474*t326+t651*t222+t1549*t130-t138*t858+t721*t2314-2.0*t32*t799+t32*t858+t557*t168+t1366*t2628+t1366*t984-t680*t510+t679*t1514-t1069*t744;
-      const double t2649 = t1710*vertices[0](2);
-      const double t2651 = t2035*vertices[4](2);
-      const double t2660 = 2.0*t786*t1291+2.0*t786*t372-2.0*t786*t2224-t295*t332-t743*t2158-2.0*t370*t533-t768*t489+2.0*t330*eta*t545-t295*t2649-t295*t2651+t705*t545+t706*t887+t629*t446-t705*t887+t706*t2114+t705*t554-t705*t2114;
-      const double t2665 = t754*xi;
-      const double t2680 = -t1321*t887+t1321*t533-t685*t2665-t685*t1204-t651*t242+t651*t258-t469*t437+t517*t600+t1760*t248-t1760*t600+t292*t322-t292*t309-t429*t322-t429*t437+t429*t309-t537*t266;
-      const double t2702 = -t530*t917+2.0*t426*t165+2.0*t426*t225-t426*t223-2.0*t45*t2000+t45*t698-t1760*t277+t1760*t499-2.0*t886*t494-t380*t777+t486*t446+t426*t146-t340*t240+t340*t246-2.0*t504*t999+t1241*t1154;
-      const double t2725 = -2.0*t426*t148+2.0*t142*t1524-t813*t2628-t517*t499-t1524*t322+2.0*t835*t437-t380*t279+t380*t278-t835*t309-t314*t410-t509*t412-t314*t311-t314*t489-t424*t750+3.0*t426*t282+3.0*t426*t280;
-      const double t2747 = t886*t145-2.0*t426*t239-t426*t246+t426*t242+3.0*t288*t280-t522*t269+t288*t237-t288*t222-t288*t243+t1344*t222-t341*t718+t341*t641+t340*t882+t341*t240+t549*t372-2.0*t1344*t225+2.0*t32*t815;
-      const double t2756 = t440*eta;
-      const double t2776 = -t340*t531-t651*t244+t651*t243+2.0*t2756*t489+2.0*t1344*t140+2.0*t1344*t148-t340*t795-t288*t917-t825*t1878-2.0*t306*t282-t306*t280+t337*t750+2.0*t830*t315+t306*t246-t306*t245+2.0*t307*t437;
-      const double t2792 = t380*vertices[4](2);
-      const double t2798 = -t306*t236+t1184*t858-t1327*t322-t1327*t437+2.0*t607*t863-2.0*t512*t505+t396*t1237-t1327*t410-t1387*t412+t443*t1261-t353*t446-2.0*t353*t372-t353*t2792-t566*t654+2.0*t566*t1949+t569*t2158;
-      const double t2805 = t672*zeta;
-      const double t2814 = t331*vertices[1](2);
-      const double t2816 = t1393*vertices[0](2);
-      const double t2823 = t324*vertices[4](2)-2.0*t370*t1291+3.0*t370*t909-t370*t2805-t353*t1291-t1184*t420+t370*t1237+t486*t744-2.0*t32*t1681+t2255*t346+t295*t2814+t295*t2816+2.0*t370*t2224-t396*t2158+t370*t576+t486*t578;
-      const double t2831 = t380*vertices[0](2);
-      const double t2842 = -t486*t614-t486*t1223+t486*t1537-t370*t2403-t32*t977-2.0*t295*t623-t295*t2831+t295*t2792-t679*t2289-t1387*t1151-t295*t2665+t295*t398-t295*t887-t295*t567+t295*t372+t607*t489;
-      const double t2863 = -3.0*t607*t315+t607*t322-t607*t309-t607*t412+t607*t410-t898*t551+t1002*t567-t898*t567+t898*t372+2.0*t607*t437+t294*t349+t1387*t513+t528*t1151-t764*t727+t1141*t432-t1141*t1204;
-      const double t2864 = t1710*vertices[0](1);
-      const double t2884 = t45*t2864+t898*t554-t764*t1089-t764*t1085-t1234*t1130+t1234*t727-t1234*t326-t541*t326-t1012*t1443+2.0*t1012*t513-t1012*t402-t1012*t727-2.0*t45*vertices[5](0)*t495-t1002*t554-t486*t909-t891*t784;
-      const double t2903 = -t919*t981+t607*vertices[0](2)-t743*t372+2.0*t715*t1443+t486*t1291+t486*t533-t1069*t1291+t1069*t2224-t1069*t533+t1549*t727-t1549*t326+t1069*t909+t1069*t1042-t1069*t1110-t743*t526-t486*t2224;
-      const double t2909 = t295*vertices[7](0);
-      const double t2913 = t2486*eta;
-      const double t2921 = t695*vertices[3](2);
-      const double t2925 = t1549*t1089+t1549*t1085-t1387*t727+t1387*t326+t768*t402+2.0*t2909*t402+t396*t355+t353*t2913-t324*t1089-t324*t727-t486*t545+t486*t1314-t569*t1204-t569*t744+t569*t2921+t743*t932+t486*t1123;
-      const double t2930 = t597*vertices[0](2);
-      const double t2932 = t597*vertices[3](2);
-      const double t2950 = -t486*t1261-t370*t2930+t370*t2932-t528*t513+t396*t932-t370*t584-t1069*t1314-t743*t2921-t396*t526-t1549*t1130-2.0*t715*t402-t891*t2403-t919*t614-t444*t696-2.0*t391*t533-2.0*t391*t567;
-      const double t2953 = t501*vertices[0](2);
-      const double t2957 = t419*zeta;
-      const double t2961 = t2022*eta;
-      const double t2972 = t2035*vertices[0](2);
-      const double t2974 = t517*vertices[7](2);
-      const double t2976 = t685*t1985+t685*t970-t295*t2953+t295*t2158-t295*t2913-2.0*t2957*t505-t396*t432+2.0*t295*t2961-t396*t2921-2.0*t324*t1085-t607*t471+2.0*t1327*t315+t1387*t863+t370*t2132+t295*t2972-t295*t2974;
-      const double t2993 = t1122*vertices[0](2);
-      const double t2999 = 2.0*t2175*t887-2.0*t651*t240-t330*t2814-t330*t2816+t330*t446+3.0*t330*t887-t706*t545+2.0*t768*t315+t768*t412-t768*t410-t891*t578+t891*t2993-t891*t1123-t892*t887-t892*t2114+t920*t2665;
-      const double t3008 = t1556*zeta;
-      const double t3018 = t690*zeta;
-      const double t3024 = t390*vertices[7](0);
-      const double t3027 = t920*t1204-2.0*t2407*t999-2.0*t2046*t311+t443*t981-t885*t554+t885*t2114+2.0*t390*t3008-2.0*t390*t2993+2.0*t651*t246+t557*t150+t557*t1642-t557*t1640-2.0*t3018*t372-t1366*t2519+t1366*t698-t390*t1897+2.0*t3024*t311;
-      const double t3052 = -2.0*t3024*t489+2.0*t3018*t355-t690*t2224+2.0*t690*t1291-t791*t681-t138*t523-t138*t2074-t746*t1440-t138*t364+2.0*t138*t771+2.0*t142*t364-t142*t1681-2.0*t142*t420-t36*t2180-t734*t2448-t36*t771;
-      const double t3069 = -t812*t523+t142*t681+t2039*t573-t1686*t1367+t2039*t1949-t32*t847+t1686*t2448+t791*t1012+t443*t1223-t443*t1537-t443*t744+t443*t696-t390*t909+t390*t2805-t390*t393-t390*t2224;
-      const double t3088 = t498*vertices[3](2);
-      const double t3090 = -2.0*t391*t446-t443*t487-t390*t981+t1141*t526+t1141*t372+t891*t981-t685*t567+t685*t372+t685*t554-t1141*t355-t708*t275-t902*t412+2.0*t902*t863+t558*t384-t1069*t446-t295*t3088;
-      const double t3099 = t2486*xi;
-      const double t3110 = -t690*t2349-t443*t1110-t892*t2258-t892*t1207-t891*t2930+t891*t2932+t891*t2132-t891*t584+t920*t3099-t2130*t2314-t1234*t63+2.0*t1234*t130-t1234*t128-t1234*t159-t2193*t137+t1234*t88-t1012*t88;
-      const double t3136 = t569*t1142+2.0*t353*t1556+t353*t710-2.0*t353*t378+2.0*t353*t2022+t486*t754+t370*t1556+2.0*t370*t710-t370*t378+2.0*t370*t2022-t396*t1142-t295*t1556-t295*t710+t295*t378-t295*t2022-t469*t128;
-      const double t3153 = -t768*t43+t1327*t70-t138*t334+t764*t214-t764*t212-t1234*t214+t1234*t212+t295*t587-t569*t2022-t569*t348-t569*t1556+t569*t397-t486*t2022+t486*t2486-t396*t378+t396*t2022;
-      const double t3172 = t396*t348+t396*t1556-t396*t397+2.0*t607*t58-t607*t52-t1327*t58+t768*t50-t1549*t214+t1549*t212+t324*t214-t324*t212-t469*t159+t330*t378-t690*t710-t443*t754-t390*t1556;
-      const double t3190 = -t390*t710+t390*t378+t2193*t83+t512*t727+2.0*t934*t513-t426*t140-t2506*t412+t1344*t243-t440*t489-t424*t280-t517*t233+t1731*t1130+t424*t35-t424*t20-t426*t34-t424*t662;
-      const double t3209 = -t337*t35+t337*t20+t306*t34-t306*t1+t337*t662+t875*t212-t895*t130+t895*t159+t829*t43-t501*t17-t740*t563-t740*t34+t740*t467+t740*t170+t740*t17-t740*t20;
-      const double t3228 = -t740*t13-t557*t17+t740*t1+t557*t35+t557*t34-t557*t1-t776*t2022+t1012*t43-t460*t9+t460*t7+t1266*t9-t1266*t7-3.0*t690*t567-t340*t280+t341*t1655+2.0*t895*t950;
-      const double t3247 = -t934*t1085-t847*t915+t396*t1143-t396*t1042-t294*t1960-2.0*t651*t280-t440*t322+t444*t1291-t444*t1042+t444*t1110+t885*t1557-t885*t2092-t444*t2224-t885*t893+t443*t2224+t443*t1042;
-      const double t3254 = vertices[2](0)*t2;
-      const double t3255 = t3254*vertices[1](2);
-      const double t3268 = -t378*t145-t2255*t140+t378*t826-t549*t567+t866*t526-t629*t545-t690*t3255+t685*t2158-t685*t3099+t1141*t2921+t685*t2092-2.0*t2909*t1443-t294*t690-t396*t2961-t396*t2831-t396*t520+t396*t2953;
-      const double t3287 = t1119*vertices[4](2);
-      const double t3292 = -2.0*t651*t248-t2255*t344-t1141*t932+t679*t2293-t1141*t1237+t690*t372-t548*t372-t295*t1394-3.0*t32*t2289-t756*t1273-t337*t235+t337*t127*vertices[7](2)-t306*t3287-t738*t267-t738*t233-t756*t718;
-      const double t3311 = -2.0*t726*t1443+t996*t234+t667*t1273+t626*t262+2.0*t1084*t950+t1084*t1130-t740*t232-t553*t545-t460*t322-t996*t271-t337*t245-t756*t233+t530*t1527+t920*t567-t920*t372-t892*t1557;
-      const double t3314 = t3254*vertices[0](2);
-      const double t3333 = t306*vertices[5](1);
-      const double t3335 = t892*t2092-t390*t3314+t390*t3255-t390*t925-t443*t1314+t390*t2930-t390*t2932-t390*t595+2.0*t295*vertices[5](0)*t505+2.0*t2278*t505+t440*t309+t690*t3314+2.0*t651*t277+t873*t437+t873*t322-t3333*t309;
-      const double t3362 = -2.0*t651*t230+2.0*t3333*t437-2.0*t370*t578+2.0*t651*t232+2.0*t566*t1970-t566*t38-t566*t6-2.0*t370*t3008+t3333*t322-2.0*t566*t1321-2.0*t3333*t505-t294*t776-t873*t309-2.0*t651*t225+t1069*t526-t895*vertices[3](2)+t2255*t269;
-      const double t3384 = -t2255*t718+t557*t13-3.0*t370*t1123+t743*t1237+t823*t260-t444*t545-t306*t275+2.0*t370*t2993+2.0*t566*t57-t891*t3008-t337*t148+t2255*t240-t791*t1514-t2193*t494+t307*t322+t667*t230;
-      const double t3391 = t306*vertices[1](1);
-      const double t3407 = -t45*t460-t667*t663-2.0*t295*t2008-2.0*t469*t4+t3391*t309-2.0*t1729*t863-2.0*t3391*t437+t875*vertices[0](2)+t45*t1885+t45*t292+2.0*t378*t494+t348*t690+t572*t42+t886*vertices[3](1)+t710*t6+t440*vertices[3](2);
-      const double t3426 = -t566*vertices[4](1)+t566*vertices[0](1)+t710*t38-2.0*t710*t1970+t895*vertices[4](2)-t440*vertices[0](2)+t2039*t1970-t292*vertices[3](2)-t1234*vertices[4](2)-t607*vertices[3](2)+t469*vertices[3](2)+t710*vertices[4](1)+t334*vertices[4](2)+t422*vertices[4](1)-t3391*t322-t378*t87;
-      const double t3446 = t667*t368-t667*t384-t424*t14-t886*t137-t2039*t1946-t746*t1234+t886*t83+t825*t137-t422*t87-t295*t355+t295*t432-t825*t83-t746*t1885-t572*t1970+t667*t750+2.0*t3391*t505+2.0*t32*t2385;
-      const double s2 = t374+t913+t1415+t730+t415+t1644+t2254+t3292+t2120+t2950+t457+t1667+t3052+t2482+t1271+t3268+t492+t2186+t3069+t1483+t3172+t2884+t793+t2298+t2505+t1371+t535+t1692+t3247+t2462+t3090+t2317+t1026+t822+t1508+t2592+t3446+t2526+t1051+t1716+t2098+t1390+t2976+t2209+t3311+t1072+t1767+t2612+t2702+t1740+t1530+t3110+t1921+t1551+t2680+t884+t3335+t2233+t1104+t2375+t2999+t2903+t3136+t1575;
-      const double s1 = s2+t1787+t2572+t336+t1139+t603+t3362+t1805+t2273+t1899+t3027+t634+t571+t1830+t1598+t1247+t1437+t1295+t1168+t1005+t3426+t1997+t1326+t1851+t1195+t946+t2336+t1350+t3384+t766+t2423+t850+t1623+t3407+t660+t2634+t2747+t1943+t1462+t1220+t3190+t974+t2550+t1974+t1874+t2725+t2396+t2441+t2024+t2356+t2052+t693+t3153+t2080+t2660+t2141+t2163+t2776+t2798+t2823+t2842+t3209+t3228+t2863+t2925;
-      const double t3454 = 1/s1;
-      const double t3460 = vertices[0](0)*t2;
-      const double t3462 = -t710+t432+t695*t88+t533-2.0*t2665+t2961-t1897-t1393*vertices[2](2)+t587+t331*t43-t3460*vertices[2](2);
-      const double t3467 = vertices[1](0)*t2;
-      const double t3469 = -t331*vertices[3](2)-t2816+t1394-t2814+t3008+2.0*t1557-t487+t331*vertices[2](2)+t925-t924*vertices[5](2)-t3467*vertices[3](2);
-      const double t3478 = t332-t3254*vertices[4](2)+t3254*vertices[5](2)+t3460*vertices[3](2)-t2349+t3467*vertices[2](2)-t2022+2.0*t1291+t3467*vertices[4](2)-t3467*vertices[5](2)+t3314;
-      const double t3482 = -t3255+t1223-t3460*vertices[4](2)+t3460*vertices[5](2)-t2913-t2993+t1123-t1204-t567+2.0*t2158-t2224;
-      const double t3487 = t378-t393-t1556-t2831+t451+t2792+t924*vertices[4](2)-t623+t2805-2.0*t1237+t1985;
-      const double t3489 = t695*t90;
-      const double t3491 = vertices[6](0)*t2;
-      const double t3494 = -t614-2.0*t909+t372+t887+t754-t545-t2008-t3489-t1393*t43-t3491*t50+t3491*t32;
-      const double t3498 = t400*t70;
-      const double t3500 = t400*t63;
-      const double t3508 = t445*t21;
-      const double t3509 = -t3491*t45+t3491*t43-2.0*t3498+t3500-t400*t61+2.0*t400*t58+t400*t15-t400*t11+t400*t9-t400*t7-t3508;
-      const double t3511 = 2.0*t754*t21;
-      const double t3512 = t525*t21;
-      const double t3514 = t431*t4;
-      const double t3522 = t3511+t3512+t1393*t40+t3514-t1393*t4-t1393*t36-t431*t52+t1393*t52+t1393*t50-t1393*t32+t1393*t45;
-      const double t3529 = t392*t4;
-      const double t3532 = t392*t52;
-      const double t3535 = 2.0*t1122*t70;
-      const double t3536 = t1122*t61;
-      const double t3537 = t1122*t58;
-      const double t3539 = -t3460*t36+t3460*t52-t3467*t40-t3529+t3467*t4+t3467*t36+t3532-t3467*t52+t3535+t3536-2.0*t3537;
-      const double t3547 = t363*t123;
-      const double t3549 = -t331*t40+t331*t4+t331*t36-t331*t52-t331*t50+t331*t32-t331*t45-t355+t398-t3547+t3254*t123;
-      const double t3560 = 2.0*t450*t70;
-      const double t3561 = t450*t63;
-      const double t3562 = t450*t130;
-      const double t3564 = -t3254*t121+t3254*t119+t363*t159-t3254*t159-t3254*t90+t3254*t142+t3254*t88-t3254*t138-t3560+t3561+2.0*t3562;
-      const double t3565 = t450*t128;
-      const double t3576 = -t3565-t924*t123+t924*t121+t3467*t159-t924*t119+t924*t159+t924*t90-t924*t142-t924*t88+t924*t138+t3491*t90;
-      const double t3582 = t380*t70;
-      const double t3584 = t380*t63;
-      const double t3592 = -t3491*t142-t3491*t88+t3491*t138+2.0*t3582-t3584-2.0*t380*t130+t380*t128-t380*t15+t380*t11+t380*t214-t380*t212;
-      const double t3594 = 2.0*t1556*t76;
-      const double t3595 = t354*t76;
-      const double t3596 = t525*t76;
-      const double t3597 = t397*t76;
-      const double t3599 = t363*t90;
-      const double t3600 = t363*t88;
-      const double t3601 = t587*t76;
-      const double t3603 = t371*t76;
-      const double t3608 = -t3594+t3595-t3596+2.0*t3597+t3599-t3600+2.0*t3601-t3603+t931*t76-2.0*t672*t76+t3460*t123;
-      const double t3612 = t392*t123;
-      const double t3616 = t392*t159;
-      const double t3617 = t2022*t21;
-      const double t3619 = t544*t21;
-      const double t3623 = -t3460*t121-t3460*t159+t3612-t3467*t123+t3467*t121-t3467*t119-t3616-2.0*t3617+t3619-t1313*t21+2.0*t2486*t21;
-      const double t3624 = t431*t50;
-      const double t3625 = t431*t43;
-      const double t3626 = t695*t50;
-      const double t3628 = t397*t21;
-      const double t3632 = t1122*t63;
-      const double t3635 = -t3624+t3625+t3626-t695*t43-2.0*t3628+t3460*t40-t3460*t4-t3632+t3460*t119+t446+t1393*vertices[3](2);
-      const double t3641 = t460*xi;
-      const double t3643 = t334*xi;
-      const double t3647 = -t770+t698-t1440-t2000+2.0*t3641-t408+2.0*t3643+t799-t858-t1393*vertices[3](1)+t1393*vertices[2](1);
-      const double t3658 = -t1393*vertices[1](1)+t1393*vertices[0](1)+t331*vertices[3](1)-t331*vertices[2](1)+t331*vertices[1](1)-t331*vertices[0](1)+t3467*vertices[3](1)-t3467*vertices[2](1)-t3460*vertices[3](1)+t3460*vertices[2](1)-t1524;
-      const double t3670 = t924*vertices[5](1)-t924*vertices[4](1)-t924*vertices[1](1)+t924*vertices[0](1)-t3254*vertices[5](1)+t3254*vertices[4](1)+t3254*vertices[1](1)-t3254*vertices[0](1)+t3467*vertices[5](1)-t3467*vertices[4](1)-t1225;
-      const double t3675 = t1234*xi;
-      const double t3677 = t1966+t847-2.0*t1885*xi-t2287-t2385-t726-t815+2.0*t770*xi+t771+t984-2.0*t3675;
-      const double t3680 = t292*xi;
-      const double t3684 = -t364+t977+t2448+t1681-2.0*t3680+t1818+t3460*vertices[4](1)+t420+t2289-t3460*vertices[5](1)-t608;
-      const double t3685 = vertices[6](1)*zeta;
-      const double t3687 = vertices[5](1)*zeta;
-      const double t3693 = t392*t57;
-      const double t3694 = t2293+t1234+t1037-t681-t3460*t3685+t3460*t3687-t3460*t57+t3460*t6-t3467*t3687+t3467*t57-t3693;
-      const double t3698 = t392*t6;
-      const double t3699 = t695*t776;
-      const double t3700 = t431*t330;
-      const double t3701 = t431*t776;
-      const double t3705 = t3467*t3685-t3467*t6+t3698-t3699-t3700+t3701-t460-t334+t695*t330+t431*t145+t1393*t891;
-      const double t3707 = t431*t127;
-      const double t3708 = vertices[2](1)*eta;
-      const double t3716 = t1393*t127-t3707-t1393*t3708+t292+t1885+t1393*t330-t1393*t295+t1393*t353-t1393*t776-t1393*t145+t3491*t295;
-      const double t3725 = t400*t104;
-      const double t3726 = t400*t2418;
-      const double t3732 = t1885*t21;
-      const double t3734 = t419*t21;
-      const double t3735 = -t3491*t353+t3491*t776-2.0*t400*t494+t400*t87-t3725+2.0*t3726-t3491*t330-2.0*t846*t21+t300*t21+2.0*t3732-t3734;
-      const double t3736 = t314*t21;
-      const double t3738 = t509*t21;
-      const double t3740 = 2.0*t334*t21;
-      const double t3741 = t857*t21;
-      const double t3748 = 2.0*t3736-t3738-t3740+t3741+t400*t83-t400*t137-t2283+t400*t18-t400*t98+t3460*t127-t3460*t3708;
-      const double t3751 = t392*t127;
-      const double t3756 = 2.0*t1122*t2418;
-      const double t3758 = t392*t145;
-      const double t3762 = -t3467*t127+t3751+t3467*t3708-t3460*t145+t3460*t891-t3756+t3467*t145-t3758-t3467*t891-t331*t127+t331*t3708;
-      const double t3763 = t1122*t494;
-      const double t3765 = t1122*t87;
-      const double t3766 = t1122*t104;
-      const double t3767 = t363*t57;
-      const double t3775 = 2.0*t3763-t3765+t3766+t3767-t331*t330+t331*t295-t331*t353+t331*t776+t331*t145-t331*t891-t3254*t3685;
-      const double t3780 = t450*t104;
-      const double t3782 = 2.0*t450*t2418;
-      const double t3790 = t3254*t3687-t3254*t57-t3780+t3782+t3254*t390-t3254*t690-t3254*t370+t3254*t1321+t3254*t6-t363*t6+t924*t3685;
-      const double t3793 = t450*t38;
-      const double t3794 = t450*t1970;
-      const double t3803 = -t924*t3687+t924*t57+t3793-2.0*t3794+t3491*t690+t3491*t370-t3491*t1321-t924*t390+t924*t690+t924*t370-t924*t1321;
-      const double t3808 = t380*t104;
-      const double t3809 = t380*t2418;
-      const double t3815 = t314*t76;
-      const double t3817 = t509*t76;
-      const double t3818 = t429*t76;
-      const double t3819 = -t924*t6+2.0*t380*t1970+t3808-2.0*t3809-t3491*t390-t380*t18+t380*t98-t380*t38-2.0*t3815+t3817-t3818;
-      const double t3821 = 2.0*t292*t76;
-      const double t3824 = t814*t76;
-      const double t3825 = t770*t76;
-      const double t3827 = t363*t690;
-      const double t3828 = t363*t1321;
-      const double t3830 = t695*t1321;
-      const double t3834 = t3821+t380*t3-t380*t42+t3824-2.0*t3825+t3827-t3828-t1255*t76+t3830+2.0*t725*t76-t695*t690;
-      const double t3840 = t166*eta;
-      const double t3841 = t265*zeta;
-      const double t3842 = t390*vertices[0](2);
-      const double t3843 = vertices[1](1)*vertices[2](2);
-      const double t3848 = vertices[3](1)*vertices[2](2);
-      const double t3852 = vertices[1](1)*vertices[0](2);
-      const double t3853 = t3852*eta;
-      const double t3855 = -t3840-t3841+t3842-t3843*xi-t295*vertices[3](2)+t145*vertices[1](2)+t81*eta+t3848*zeta-t443*vertices[7](2)+t87*vertices[1](2)-2.0*t3853;
-      const double t3857 = t690*vertices[1](2);
-      const double t3858 = t353*vertices[3](2);
-      const double t3863 = t443*vertices[4](2)-t1145-t3857+t3858+t1119*vertices[1](2)+t1284-t1119*vertices[5](2)+t3287+t898*vertices[5](2)+t1106-t548*vertices[5](2);
-      const double t3867 = vertices[0](1)*vertices[1](2);
-      const double t3868 = t3867*zeta;
-      const double t3871 = t29*zeta;
-      const double t3874 = t3867*eta;
-      const double t3877 = t548*vertices[1](2)+t1105*vertices[5](2)-t899+t3868+t1091+t486*vertices[7](2)-t486*vertices[4](2)-t3871-2.0*t265*eta+2.0*t3874+t443*vertices[3](2);
-      const double t3884 = -t898*vertices[1](2)-t1120+t17-t22-t1105*vertices[1](2)-t486*vertices[3](2)-t443*vertices[0](2)+t26+t28-2.0*t30+t898*t119;
-      const double t3887 = t298*vertices[0](2);
-      const double t3894 = vertices[1](1)*vertices[3](2);
-      const double t3897 = -t87*t3887+t87*t299+t87*t138+t265-2.0*t87*t142-t34+t898*t61-t3894+t3852+t898*t436-t898*t470;
-      const double t3904 = t353*vertices[0](2);
-      const double t3907 = vertices[1](1)*vertices[6](2);
-      const double t3909 = t390*t50;
-      const double t3910 = -t898*t58+t443*t61-t443*t43-t919*t159+t39+t919*t123+t919*t43-t3904+2.0*t3843*t21-t3907*t21-t3909;
-      const double t3913 = t891*t50;
-      const double t3914 = t390*t43;
-      const double t3915 = t295*vertices[0](2);
-      const double t3919 = t298*vertices[4](2);
-      const double t3921 = t298*vertices[7](2);
-      const double t3923 = t298*vertices[3](2);
-      const double t3926 = -t891*t43+t3913+t3914+t3915+t898*t32-t898*t121-t898*t45-t295*t3919+t295*t3921-t295*t3923-t548*t61;
-      const double t3934 = -t89+2.0*t91-t548*t436-t1276+t548*t470-t97+t548*t58-t390*t61-t919*t50+t105+t443*t159;
-      const double t3946 = 2.0*t353*t90;
-      const double t3947 = t353*t52;
-      const double t3948 = t353*t88;
-      const double t3950 = -t443*t123-2.0*t107+t443*t50+t443*t436-t443*t470-t443*t58+t95*t142+t3946+t3947-t3948-t390*vertices[3](2);
-      const double t3951 = t353*t4;
-      const double t3961 = -2.0*t3951-t129+t486*t58-t486*t61+t486*vertices[0](2)+t131-t486*t50-t486*t436+t486*t470+t486*t43+2.0*t133;
-      const double t3965 = t295*t88;
-      const double t3968 = t295*t90;
-      const double t3974 = t295*t3887-t295*t52+t3965+2.0*t295*t4-2.0*t3968-t136-t486*t159-t140+t486*t123-t1105*t128+t1105*t130;
-      const double t3975 = vertices[1](1)*vertices[4](2);
-      const double t3976 = t3975*eta;
-      const double t3978 = vertices[1](1)*vertices[7](2);
-      const double t3980 = eta*zeta;
-      const double t3981 = t25*t3980;
-      const double t3982 = t166*t3980;
-      const double t3983 = t29*t3980;
-      const double t3986 = t81*t3980;
-      const double t3989 = t265*t3980;
-      const double t3992 = t3976-t1105*t70-t3978*eta-t3981+t3982+2.0*t3983+t79*t3980-t3986-2.0*t3848*t3980+2.0*t3989+2.0*t165;
-      const double t4003 = t145*t32;
-      const double t4004 = t95*t3887+t95*t746-t95*t3919+t1105*t119-t1105*t121-t1105*t45+t145*t45+t1105*t32-t4003-t175+t178;
-      const double t4007 = 2.0*t3867*t3980;
-      const double t4008 = t690*t32;
-      const double t4010 = t690*t45;
-      const double t4014 = t1105*t63+t203-t4007-t221+t4008+t548*t45-t4010-t548*t32-t548*t119-t224+t548*t121;
-      const double t4026 = -t95*t299+t87*t3919+t1119*t45-t1119*t32+t1119*t121-t1119*t119+t494*t746-t494*t3919-t494*t299+t494*t3887-t3867;
-      const double t4031 = -t87*t746+2.0*t3894*eta-t235-2.0*t239+t240+t245-t246+t248-t266+t267+t282;
-      const double t4043 = t306*vertices[0](2);
-      const double t4044 = vertices[3](0)*xi;
-      const double t4046 = -t363*t746-t1710*t32-t2651+t2035*vertices[5](2)-t306*vertices[3](2)+t1710*vertices[1](2)-t517*vertices[1](2)+t4043+t1096+t1711+t4044*t3887;
-      const double t4047 = t445*zeta;
-      const double t4050 = t557*vertices[0](2);
-      const double t4051 = t354*eta;
-      const double t4054 = t566*zeta;
-      const double t4057 = t1338-t4047+t1710*t121-t1710*t119+t4050-t4051+t498*vertices[1](2)+t363*vertices[1](2)-t4054+t371*eta+t517*vertices[5](2);
-      const double t4059 = t501*vertices[1](2);
-      const double t4067 = -t4059+t380*vertices[1](2)+t518+t340*vertices[0](2)-t340*vertices[3](2)-t340*vertices[4](2)+t340*vertices[7](2)-t3088+t986-t740*vertices[0](2)+t740*vertices[3](2);
-      const double t4070 = vertices[1](0)*vertices[2](2);
-      const double t4072 = vertices[1](0)*vertices[3](2);
-      const double t4075 = vertices[1](0)*vertices[4](2);
-      const double t4076 = t4075*eta;
-      const double t4077 = vertices[1](0)*vertices[7](2);
-      const double t4079 = t426*vertices[0](2);
-      const double t4080 = t426*vertices[3](2);
-      const double t4083 = t740*vertices[4](2)-t740*vertices[7](2)-t4070*xi+2.0*t4072*eta+t4076-t4077*eta-t4079+t4080-t498*vertices[5](2)+t2972-t2035*vertices[1](2);
-      const double t4087 = t501*t32;
-      const double t4093 = t501*t45;
-      const double t4094 = t380*t32;
-      const double t4097 = t4044*t746+t4087-t4044*t299-t4044*t3919-t695*t299-t695*t3919-t498*t32-t4093-t4094+t2035*t32-t498*t119;
-      const double t4109 = t695*t3887+t695*t746+t517*t61-t517*t58+t380*t45-t2035*t45+t340*t123-t340*t159-t340*t50+t340*t43-t340*t436;
-      const double t4114 = t426*t88;
-      const double t4115 = t426*t52;
-      const double t4116 = t426*t4;
-      const double t4119 = 2.0*t426*t90;
-      const double t4122 = t340*t58+t340*t470-t340*t61-t710-t4114+t4115-2.0*t4116+t4119-t517*t470+t517*t436-t4072;
-      const double t4131 = t306*t88;
-      const double t4132 = t498*t470-t498*t436-t498*t61+t498*t58-t306*t3919+t306*t3921-t422+t306*t3887-t306*t3923-t2665+t4131;
-      const double t4139 = t306*t90;
-      const double t4147 = -t306*t52+t498*t45+t498*t121+t566-2.0*t4139+2.0*t306*t4+t2961-t639*t159+t740*t159-t639*t50+t639*t43;
-      const double t4159 = t639*t123-t740*t43-t740*t123-t740*t470+t740*t436+t740*t50-t557*t61-t740*t58+t740*t61-t363*t3887+t363*t299;
-      const double t4162 = vertices[1](0)*vertices[0](2);
-      const double t4163 = t4162*eta;
-      const double t4168 = t363*t3919-2.0*t4163-t557*vertices[3](2)+t1710*t45+t4162+t1291-t567-t2224-t2831+2.0*t451-t623;
-      const double t4171 = t422*eta;
-      const double t4175 = t371*t3980;
-      const double t4179 = t566*t3980;
-      const double t4181 = t1985-t2974-t1710*vertices[5](2)+t754+t695*t142+2.0*t4171-2.0*t566*eta-t4175-2.0*t2008-2.0*t1095*t3980+2.0*t4179;
-      const double t4191 = 2.0*t422*t3980;
-      const double t4193 = t2035*t119-t2035*t121+t931*t3980+t2035*t130-t3489+t2035*t63-t2035*t70-t4191-2.0*t3508+t3511+t3512;
-      const double t4197 = t3514-2.0*t3529+t3532-t2035*t128+t398-t3560+2.0*t3561+t3562-t3565+t3582-t3584;
-      const double t4202 = t525*t3980;
-      const double t4203 = t354*t3980;
-      const double t4204 = t445*t3980;
-      const double t4206 = t530*t50;
-      const double t4207 = 2.0*t3599-t3600-t3617+t3619-t3628+2.0*t4070*t21-t4202+t446+t4203+2.0*t4204+t4206;
-      const double t4208 = t557*t43;
-      const double t4209 = t557*t50;
-      const double t4210 = vertices[1](0)*vertices[6](2);
-      const double t4220 = t4208-t4209-t4210*t21+t363*t138-2.0*t363*t142+t517*t119-t517*t121-t517*t45-t2649+t517*t32-t530*t43;
-      const double t4228 = -t2000-t408+t3643+2.0*t799-t858-2.0*t2385+t984-t3675+t977+t2289+t2293;
-      const double t4236 = t1234-t2756-2.0*t1378+t740*vertices[7](1)-t740*vertices[4](1)-t740*vertices[3](1)+t740*vertices[0](1)-t2489+t1431-t340*vertices[7](1)+t340*vertices[4](1);
-      const double t4244 = t340*vertices[3](1)+t1633+t1421-t2035*vertices[5](1)+t498*vertices[5](1)-t307+2.0*t1741+t2036+t517*vertices[1](1)-t814*eta-t715;
-      const double t4247 = t646-t363*vertices[1](1)+t949+t2278-t2005-t1599+t504+t830-t1893+t1710*vertices[5](1)-t334;
-      const double t4259 = -t3707+t469-t740*t776+t740*t95-t740*t990-t740*t87+t740*t494+t498*t990+t557*t87-t498*t95-t306*t1105;
-      const double t4265 = t426*t690;
-      const double t4266 = t426*t145;
-      const double t4268 = t306*t690;
-      const double t4269 = -t498*t494+t875-t340*t494+t498*t87-t1710*vertices[1](1)+t340*t87+t4265-t4266-t895+t306*t548-t4268;
-      const double t4272 = t306*t1321;
-      const double t4282 = t306*t145+2.0*t4272-2.0*t306*t127-t2199-t340*t57+t340*t6+t340*t990-t340*t330+t340*t776+t1729-t639*t330;
-      const double t4294 = -t639*t57-t498*vertices[1](1)-t740*t6+t639*t776+t740*t330+t740*t57+t2035*vertices[1](1)+t2035*t2418-t2035*t104+t528*t21-t2035*t3685;
-      const double t4302 = t557*t330;
-      const double t4303 = t530*t776;
-      const double t4306 = t557*t776;
-      const double t4307 = -2.0*t934*t21+t530*t330-t517*t353-t4302-t4303-t340*vertices[0](1)+t3732-t3734-t1710*t295+t4306+t3736;
-      const double t4317 = -t3738+t363*t443+t1710*t353-t3740+2.0*t3741-t363*t486-t363*t548-t2283-t306*t898+t306*t1119+2.0*t363*t370;
-      const double t4324 = t501*t295;
-      const double t4327 = t380*t353;
-      const double t4329 = -t363*t390-t2035*t353-t380*t295+t498*t3685-t4044*t443+t4324-t498*t295-t498*t3687+t2864+t4327+t498*t353;
-      const double t4330 = t501*t353;
-      const double t4337 = t814*t3980;
-      const double t4338 = t324*t3980;
-      const double t4340 = t857*t3980;
-      const double t4342 = t429*t3980;
-      const double t4343 = t509*t3980;
-      const double t4344 = -t4330-t695*t898+t695*t486-t1255*t3980-t695*t370+2.0*t714*t3980+t4337-2.0*t4338-2.0*t4340-t4342+t4343;
-      const double t4348 = 2.0*t469*t3980;
-      const double t4358 = t4348-t2035*t1970+t2035*t38+t517*t295+t517*t3687+t4044*t486+t4044*t548+t1710*t3685-t4044*t898+t2401-t1710*t3687;
-      const double t4364 = t426*t127;
-      const double t4368 = 2.0*t426*t1321;
-      const double t4369 = -t324+t2035*t295+t2035*t3687+2.0*t3751-2.0*t1745-t2394-t517*t3685+2.0*t4364+t517*t95-t4368-t3758;
-      const double t4378 = -t517*t990-t517*t87+t517*t494+2.0*t324*eta-2.0*t3780+t3782+t3793-t3794+t3808-t3809+t363*t898;
-      const double t4386 = t3827-2.0*t3828+t639*t6-t340*t95+t3830+t695*t548-t695*t443-t1084-t2213+t934*xi-t517*vertices[5](1);
-      const double t4394 = t3840+t3841-t3842+t3853+t3857-t3858-2.0*t3868+t3871-t3874+t758*vertices[2](2)-t761;
-      const double t4400 = vertices[4](1)*vertices[5](2);
-      const double t4406 = -t917+t818*vertices[1](2)-t818*vertices[2](2)+t819+2.0*t229*zeta-t177*zeta-t4400*eta+t390*vertices[4](2)-t38*vertices[1](2)-t6*vertices[1](2)+t553*vertices[1](2);
-      const double t4417 = -t553*vertices[2](2)-t705*vertices[1](2)+t705*vertices[2](2)-t1642+t1640+t569*vertices[4](2)-t569*vertices[7](2)+t396*vertices[0](2)-t396*vertices[3](2)-t396*vertices[4](2)+t396*vertices[7](2);
-      const double t4422 = vertices[1](1)*vertices[5](2);
-      const double t4426 = t1527-t1511+t295*vertices[4](2)-2.0*t3975*zeta+t396*t88+t14-t3852-t35+t4422*xi+2.0*t3904+2.0*t3909;
-      const double t4431 = -t59+t3978*zeta+t62-2.0*t64-t3913-t3914-t3915+t69-t71-t82+t85;
-      const double t4434 = t111-t3946-t3947+2.0*t3948+t3951-t3965+t3968-t148-t3976-t569*vertices[0](2)+t3981;
-      const double t4439 = -2.0*t3982-t3983+t3986-t3989+t553*t130-t167+t4003+t180-t186-t188+2.0*t192;
-      const double t4446 = t200+t201-2.0*t202+t205-t207+2.0*t208-t210+t4007-2.0*t4008-2.0*t4422*t76+t3907*t76;
-      const double t4450 = t289*vertices[4](2);
-      const double t4460 = t4010-t891*t4450+t891*t123-t553*t142+t225+t553*t138-t553*t36+t553*t40-t705*t470-t705*t130+t705*t128;
-      const double t4462 = t289*vertices[0](2);
-      const double t4467 = t289*vertices[3](2);
-      const double t4470 = t289*vertices[7](2);
-      const double t4475 = t230+t390*t159-t390*t4462-2.0*t390*t123+t891*t4462-t891*t4467+t390*t4450-t390*t4470+t891*t4470+t390*t4467-t396*t436;
-      const double t4486 = t396*t130-t396*t128+t295*t128+t396*t470-t396*t52+t3867+t705*t436-t553*t128-t553*t436+t553*t470+t3975;
-      const double t4498 = -t569*t470+t569*t436+t569*vertices[3](2)+t569*t128-t569*t130-t370*t4450+t370*t4470+t370*t4462-t370*t4467-t396*t90+t396*t4;
-      const double t4512 = t818*t70-t818*t63-t6*t138+t818*t138-t818*t36-t238+2.0*t4400*t3980-t173*t3980+t38*t4462-t38*t791-t818*t142;
-      const double t4525 = t818*t40-t95*t679+t95*t4467-t818*t58+t95*t791+t818*t61-t1970*t4462+t758*t36-t758*vertices[1](2)+2.0*t38*t32+t1970*t791;
-      const double t4537 = -t1970*t679-t95*t4462-t38*t45+t1970*t4467+t38*t679-t38*t4467-t229+t705*t36-t95*t32-t705*t138+t705*t142;
-      const double t4544 = -t705*t40+t759-t758*t138+t758*t142-t758*t40-t249+t250+2.0*t252-t264+t278-2.0*t279;
-      const double t4553 = -t4043-2.0*t1338+t4047-t4050+t4051+t4054+t4059-t4076+2.0*t4079-t4080-2.0*t4087;
-      const double t4562 = -t557*t4462+t557*t4467+t557*t4450-t557*t4470+t4093+t584-t424*vertices[0](2)+t4094+t424*vertices[3](2)+t424*vertices[4](2)+t337*vertices[0](2);
-      const double t4570 = -t337*vertices[3](2)-t337*vertices[4](2)+t337*vertices[7](2)+t2403-t576+t2930-t597*vertices[1](2)+t597*vertices[2](2)-t2932-t595+t594*vertices[1](2);
-      const double t4574 = vertices[1](0)*vertices[5](2);
-      const double t4583 = -t594*vertices[2](2)+t784-2.0*t4075*zeta+t4574*xi+t358*vertices[1](2)-t358*vertices[2](2)-t575*vertices[1](2)-t2132-2.0*t4574*t76+t4210*t76+t530*t123;
-      const double t4593 = -t358*t142+t358*t40+t432+t530*t4462-t530*t4467-t530*t4450+t530*t4470+2.0*t4114-t4115+t4116-t4119;
-      const double t4599 = vertices[4](0)*vertices[5](2);
-      const double t4606 = vertices[4](0)*xi;
-      const double t4608 = -t431*vertices[1](2)-t400*vertices[1](2)+2.0*t886*zeta-t544*zeta-t4599*eta+t575*vertices[2](2)+2.0*t431*t32-t431*t45+t422+t597*t36-t4606*t4462;
-      const double t4619 = t4606*t791-t4606*t679-t4131+t4139+t358*t138-t358*t36+t597*t142-t597*t40-t597*t138+t695*t4467-t594*t142;
-      const double t4632 = t594*t40-t431*t4467-t695*t4462+t695*t791-t695*t679-t431*t791+t431*t679+t431*t4462-t594*t58+2.0*t4599*t3980-t1313*t3980;
-      const double t4644 = -t695*t32+t594*t70-t594*t63+t594*t61-t400*t138+t594*t138-t594*t36+t4163+2.0*t3008+t1557-t487;
-      const double t4650 = t4606*t4467-t4162+t1223-2.0*t2993+t1123+t378-t393-t1556+t337*t470-t337*t436-t337*t90;
-      const double t4660 = t337*t4+t4077*zeta-t424*vertices[7](2)-t1237-t614+t887+t306*vertices[4](2)+t337*t88-t337*t52-t575*t130+t575*t128;
-      const double t4670 = t557*vertices[4](2)-t4171-t575*t470+t575*t436-2.0*t557*t123+t557*t159+t4175-t4179+t424*t128+t288*t4470+t337*t130;
-      const double t4682 = t306*t128-t337*t128-t886-t424*t130+t358*t130+t4191-t358*t436-t424*t470+t424*t436+t288*t4462-t288*t4450;
-      const double t4686 = -t3498+t3500+t3535+t3536-t3537-t358*t128+t358*t470-t355-t3547-t3594+2.0*t3595;
-      const double t4692 = -t3596+t3597+t3601-t3603+2.0*t3612-t3616-2.0*t3624+t3625+t3626-t288*t4467-2.0*t3632;
-      const double t4699 = -t575*t40-t575*t138+t575*t36+t575*t142+t4202-2.0*t4203-t4204-t4206-t4208+2.0*t4209+t4075;
-      const double t4707 = -t1440+t3641-2.0*t1524-t1225+2.0*t1966+t771+t2448+t1681-t3680+t1818-t608;
-      const double t4711 = -t681+t2756+t307-t1741-t646-t949-t2278+2.0*t2005+t1599-2.0*t504-2.0*t3693;
-      const double t4716 = t3698+t401+t431*vertices[1](1)+t2046+t2957-t1115+t594*vertices[2](1)-t3699-t3700-t594*vertices[1](1)+t781;
-      const double t4725 = t2180-t597*vertices[2](1)+t597*vertices[1](1)-t319-t873*xi+2.0*t441+t1565+t358*vertices[2](1)+2.0*t3701-t337*vertices[7](1)+t337*vertices[4](1);
-      const double t4737 = t337*vertices[3](1)-t337*vertices[0](1)+t424*vertices[7](1)-t424*vertices[4](1)-t424*vertices[3](1)-t2074+t2455-t575*vertices[2](1)-t460+2.0*t873*t76-t528*t76;
-      const double t4742 = -t530*t57+t358*t370-t358*t3708+t292-t469-2.0*t4265+t4266+t895+t4268-t4272-t1729;
-      const double t4747 = -t3725+t3726-t1040+t4302+t4303-2.0*t4306-t358*t1970-t4324-t4327+2.0*t4330-t4337;
-      const double t4755 = t4338-t937+t4340+2.0*t4342-t4343-t4348+2.0*t557*t57-t557*t6+t557*t553-t557*t705-t557*t758;
-      const double t4768 = -t1809-t530*t553+t530*t705+t530*t758-t530*t818+t358*t38-t358*t95+t358*t990+t424*vertices[0](1)+t1745-t337*t690;
-      const double t4780 = t337*t145+t575*t1970+t424*t1970-t424*t38-t337*t95+t337*t1321-t337*t127+t337*t990-t575*t990-t337*t1970-t306*t38;
-      const double t4791 = t337*t38+t557*t818-t575*t38+t575*t95-t3756-t4606*t705-2.0*t431*t353+t431*t295-t431*t553-t4364+t4368;
-      const double t4805 = -2.0*t2045*t3980+t300*t3980+t695*t353+t288*t705+t288*t758-t288*t818-2.0*t607*zeta+t424*t95-t424*t990-t288*t553-t594*t3708;
-      const double t4816 = t400*t390-t594*t390+t594*t891+t695*t396-t695*t705+t594*t370+t607+t3763-t3765+t431*t569+t431*t705;
-      const double t4827 = t695*t553-t431*t396+2.0*t3766+t3767+t594*t494-t575*t370+t575*t3708-t594*t2418+t594*t104-t594*t87+t597*t390;
-      const double t4838 = -t358*t390+t358*t891-t597*t891+t575*t390-t575*t891-t597*t370-t440+t575*vertices[1](1)+t597*t3708-t598-t695*t569;
-      const double t4844 = t4606*t553-t4606*t569+t4606*t396-t3815+t3817-2.0*t3818+t3821+t3824-t3825-t358*vertices[1](1)+t1084;
-      jacobians[point][0][0] = -(t24+t47+t68+t92+t109+t125+t147+t161+t183+t195+t211+t226+t241+t255+t270+t283)*t3454;
-      jacobians[point][0][1] = (t3462+t3469+t3478+t3482+t3487+t3494+t3509+t3522+t3539+t3549+t3564+t3576+t3592+t3608+t3623+t3635)*t3454;
-      jacobians[point][0][2] = (t3647+t3658+t3670+t3677+t3684+t3694+t3705+t3716+t3735+t3748+t3762+t3775+t3790+t3803+t3819+t3834)*t3454;
-      jacobians[point][1][0] = (t3855+t3863+t3877+t3884+t3897+t3910+t3926+t3934+t3950+t3961+t3974+t3992+t4004+t4014+t4026+t4031)*t3454;
-      jacobians[point][1][1] = -(t4046+t4057+t4067+t4083+t4097+t4109+t4122+t4132+t4147+t4159+t4168+t4181+t4193+t4197+t4207+t4220)*t3454;
-      jacobians[point][1][2] = -(t4228+t4236+t4244+t4247+t4259+t4269+t4282+t4294+t4307+t4317+t4329+t4344+t4358+t4369+t4378+t4386)*t3454;
-      jacobians[point][2][0] = (t4394+t4406+t4417+t4426+t4431+t4434+t4439+t4446+t4460+t4475+t4486+t4498+t4512+t4525+t4537+t4544)*t3454;
-      jacobians[point][2][1] = -(t4553+t4562+t4570+t4583+t4593+t4608+t4619+t4632+t4644+t4650+t4660+t4670+t4682+t4686+t4692+t4699)*t3454;
-      jacobians[point][2][2] = -(t4707+t4711+t4716+t4725+t4737+t4742+t4747+t4755+t4768+t4780+t4791+t4805+t4816+t4827+t4838+t4844)*t3454;
-    };
-};
-
-
 template <>
 void FEQ1Mapping<3>::compute_jacobian_gradients (const DoFHandler<3>::cell_iterator &cell,
                                                     const vector<Point<3> > &unit_points,

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.