PolyFEM
Loading...
Searching...
No Matches
auto_pyramid_bases.cpp
Go to the documentation of this file.
2#include "auto_b_bases.hpp"
3#include "p_n_bases.hpp"
4
5
6namespace polyfem {
7namespace autogen {
8namespace {
9void pyramid_0_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
10
11auto x=uv.col(0).array();
12auto y=uv.col(1).array();
13auto z=uv.col(2).array();
14
15result_0.resize(x.size(),1);
16switch(local_index){
17 case 0: {result_0.setOnes();} break;
18 default: assert(false);
19}}
20void pyramid_0_basis_grad_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val){
21
22auto x=uv.col(0).array();
23auto y=uv.col(1).array();
24auto z=uv.col(2).array();
25
26val.resize(uv.rows(), uv.cols());
27 Eigen::ArrayXd result_0(uv.rows());
28switch(local_index){
29 case 0: {{result_0.setZero();val.col(0) = result_0; }{result_0.setZero();val.col(1) = result_0; }{result_0.setZero();val.col(2) = result_0; }} break;
30 default: assert(false);
31}}
32
33
34void pyramid_0_nodes_3d(Eigen::MatrixXd &res) {
35 res.resize(1, 3); res <<
360.40000000000000002, 0.40000000000000002, 0.20000000000000001;
37}
38
39
40void pyramid_1_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
41
42auto x=uv.col(0).array();
43auto y=uv.col(1).array();
44auto z=uv.col(2).array();
45
46switch(local_index){
47 case 0: {const auto helper_0 = z - 1;
48result_0 = -(helper_0*(helper_0 + x + y) + x*y)/helper_0;} break;
49 case 1: {const auto helper_0 = z - 1;
50result_0 = x*(helper_0 + y)/helper_0;} break;
51 case 2: {result_0 = -x*y/(z - 1);} break;
52 case 3: {const auto helper_0 = z - 1;
53result_0 = y*(helper_0 + x)/helper_0;} break;
54 case 4: {result_0 = z;} break;
55 default: assert(false);
56}}
57void pyramid_1_basis_grad_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val){
58
59auto x=uv.col(0).array();
60auto y=uv.col(1).array();
61auto z=uv.col(2).array();
62
63val.resize(uv.rows(), uv.cols());
64 Eigen::ArrayXd result_0(uv.rows());
65switch(local_index){
66 case 0: {{const auto helper_0 = z - 1;
67result_0 = -(helper_0 + y)/helper_0;val.col(0) = result_0; }{const auto helper_0 = z - 1;
68result_0 = -(helper_0 + x)/helper_0;val.col(1) = result_0; }{result_0 = x*y/pow(z - 1, 2) - 1;val.col(2) = result_0; }} break;
69 case 1: {{const auto helper_0 = z - 1;
70result_0 = (helper_0 + y)/helper_0;val.col(0) = result_0; }{result_0 = x/(z - 1);val.col(1) = result_0; }{result_0 = -x*y/pow(z - 1, 2);val.col(2) = result_0; }} break;
71 case 2: {{result_0 = -y/(z - 1);val.col(0) = result_0; }{result_0 = -x/(z - 1);val.col(1) = result_0; }{result_0 = x*y/pow(z - 1, 2);val.col(2) = result_0; }} break;
72 case 3: {{result_0 = y/(z - 1);val.col(0) = result_0; }{const auto helper_0 = z - 1;
73result_0 = (helper_0 + x)/helper_0;val.col(1) = result_0; }{result_0 = -x*y/pow(z - 1, 2);val.col(2) = result_0; }} break;
74 case 4: {{result_0.setZero();val.col(0) = result_0; }{result_0.setZero();val.col(1) = result_0; }{result_0.setOnes();val.col(2) = result_0; }} break;
75 default: assert(false);
76}}
77
78
79void pyramid_1_nodes_3d(Eigen::MatrixXd &res) {
80 res.resize(5, 3); res <<
810, 0, 0,
821, 0, 0,
831, 1, 0,
840, 1, 0,
850, 0, 1;
86}
87
88
89void pyramid_2_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
90
91auto x=uv.col(0).array();
92auto y=uv.col(1).array();
93auto z=uv.col(2).array();
94
95switch(local_index){
96 case 0: {const auto helper_0 = z - 1;
97const auto helper_1 = pow(helper_0, 2);
98const auto helper_2 = pow(x, 2);
99const auto helper_3 = pow(y, 2);
100const auto helper_4 = x*y;
101const auto helper_5 = 4*helper_0;
102result_0 = (helper_0*helper_4*(6*x + 6*y + 1) + helper_1*(helper_0 + 2*helper_1 + 2*helper_2 + 2*helper_3 + 10*helper_4 + helper_5*x + helper_5*y + x + y) + 4*helper_2*helper_3)/helper_1;} break;
103 case 1: {const auto helper_0 = z - 1;
104const auto helper_1 = pow(helper_0, 2);
105const auto helper_2 = 2*y - 1;
106result_0 = x*(helper_0*y*(helper_2 + 6*x) + helper_1*(helper_2 + 2*x) + 4*x*pow(y, 2))/helper_1;} break;
107 case 2: {const auto helper_0 = z - 1;
108const auto helper_1 = pow(helper_0, 2);
109const auto helper_2 = x*y;
110result_0 = helper_2*(helper_0*(2*x + 2*y + 1) + 2*helper_1 + 4*helper_2)/helper_1;} break;
111 case 3: {const auto helper_0 = z - 1;
112const auto helper_1 = pow(helper_0, 2);
113const auto helper_2 = 2*x - 1;
114result_0 = y*(helper_0*x*(helper_2 + 6*y) + helper_1*(helper_2 + 2*y) + 4*pow(x, 2)*y)/helper_1;} break;
115 case 4: {result_0 = z*(2*z - 1);} break;
116 case 5: {const auto helper_0 = z - 1;
117const auto helper_1 = pow(helper_0, 2);
118result_0 = -4*x*(helper_0*y*(3*x + 2*y) + helper_1*(helper_0 + x + 3*y) + 2*x*pow(y, 2))/helper_1;} break;
119 case 6: {const auto helper_0 = z - 1;
120const auto helper_1 = pow(helper_0, 2);
121const auto helper_2 = 2*x;
122result_0 = -4*x*y*(helper_0*(helper_2 + y) + helper_1 + helper_2*y)/helper_1;} break;
123 case 7: {const auto helper_0 = z - 1;
124const auto helper_1 = pow(helper_0, 2);
125const auto helper_2 = 2*y;
126result_0 = -4*x*y*(helper_0*(helper_2 + x) + helper_1 + helper_2*x)/helper_1;} break;
127 case 8: {const auto helper_0 = z - 1;
128const auto helper_1 = pow(helper_0, 2);
129result_0 = -4*y*(helper_0*x*(2*x + 3*y) + helper_1*(helper_0 + 3*x + y) + 2*pow(x, 2)*y)/helper_1;} break;
130 case 9: {result_0 = -4*z*(x*y + x*z - x + y*z - y + pow(z, 2) - 2*z + 1)/(z - 1);} break;
131 case 10: {const auto helper_0 = z - 1;
132result_0 = 4*x*z*(helper_0 + y)/helper_0;} break;
133 case 11: {result_0 = -4*x*y*z/(z - 1);} break;
134 case 12: {const auto helper_0 = z - 1;
135result_0 = 4*y*z*(helper_0 + x)/helper_0;} break;
136 case 13: {const auto helper_0 = z - 1;
137const auto helper_1 = pow(helper_0, 2);
138const auto helper_2 = x*y;
139result_0 = 16*helper_2*(helper_0*(x + y) + helper_1 + helper_2)/helper_1;} break;
140 default: assert(false);
141}}
142void pyramid_2_basis_grad_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val){
143
144auto x=uv.col(0).array();
145auto y=uv.col(1).array();
146auto z=uv.col(2).array();
147
148val.resize(uv.rows(), uv.cols());
149 Eigen::ArrayXd result_0(uv.rows());
150switch(local_index){
151 case 0: {{const auto helper_0 = z - 1;
152const auto helper_1 = pow(helper_0, 2);
153result_0 = (helper_0*y*(12*x + 6*y + 1) + helper_1*(4*x + 10*y + 4*z - 3) + 8*x*pow(y, 2))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
154const auto helper_1 = pow(helper_0, 2);
155result_0 = (helper_0*x*(6*x + 12*y + 1) + helper_1*(10*x + 4*y + 4*z - 3) + 8*pow(x, 2)*y)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
156const auto helper_1 = pow(helper_0, 3);
157result_0 = -(helper_0*x*y*(6*x + 6*y + 1) - helper_1*(4*x + 4*y + 4*z - 3) + 8*pow(x, 2)*pow(y, 2))/helper_1;val.col(2) = result_0; }} break;
158 case 1: {{const auto helper_0 = z - 1;
159const auto helper_1 = pow(helper_0, 2);
160const auto helper_2 = 2*y - 1;
161result_0 = (helper_0*y*(helper_2 + 12*x) + helper_1*(helper_2 + 4*x) + 8*x*pow(y, 2))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
162const auto helper_1 = pow(helper_0, 2);
163result_0 = x*(helper_0*(6*x + 4*y - 1) + 2*helper_1 + 8*x*y)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
164const auto helper_1 = x*y;
165result_0 = -helper_1*(helper_0*(6*x + 2*y - 1) + 8*helper_1)/pow(helper_0, 3);val.col(2) = result_0; }} break;
166 case 2: {{const auto helper_0 = z - 1;
167const auto helper_1 = pow(helper_0, 2);
168result_0 = y*(helper_0*(4*x + 2*y + 1) + 2*helper_1 + 8*x*y)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
169const auto helper_1 = pow(helper_0, 2);
170result_0 = x*(helper_0*(2*x + 4*y + 1) + 2*helper_1 + 8*x*y)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
171const auto helper_1 = x*y;
172result_0 = -helper_1*(helper_0*(2*x + 2*y + 1) + 8*helper_1)/pow(helper_0, 3);val.col(2) = result_0; }} break;
173 case 3: {{const auto helper_0 = z - 1;
174const auto helper_1 = pow(helper_0, 2);
175result_0 = y*(helper_0*(4*x + 6*y - 1) + 2*helper_1 + 8*x*y)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
176const auto helper_1 = pow(helper_0, 2);
177const auto helper_2 = 2*x - 1;
178result_0 = (helper_0*x*(helper_2 + 12*y) + helper_1*(helper_2 + 4*y) + 8*pow(x, 2)*y)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
179const auto helper_1 = x*y;
180result_0 = -helper_1*(helper_0*(2*x + 6*y - 1) + 8*helper_1)/pow(helper_0, 3);val.col(2) = result_0; }} break;
181 case 4: {{result_0.setZero();val.col(0) = result_0; }{result_0.setZero();val.col(1) = result_0; }{result_0 = 4*z - 1;val.col(2) = result_0; }} break;
182 case 5: {{const auto helper_0 = z - 1;
183const auto helper_1 = pow(helper_0, 2);
184result_0 = -4*(2*helper_0*y*(3*x + y) + helper_1*(helper_0 + 2*x + 3*y) + 4*x*pow(y, 2))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
185const auto helper_1 = pow(helper_0, 2);
186const auto helper_2 = 4*y;
187result_0 = -4*x*(helper_0*(helper_2 + 3*x) + 3*helper_1 + helper_2*x)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
188const auto helper_1 = pow(helper_0, 3);
189const auto helper_2 = 4*x;
190result_0 = helper_2*(helper_0*y*(3*x + 2*y) - helper_1 + helper_2*pow(y, 2))/helper_1;val.col(2) = result_0; }} break;
191 case 6: {{const auto helper_0 = z - 1;
192const auto helper_1 = pow(helper_0, 2);
193const auto helper_2 = 4*x;
194result_0 = -4*y*(helper_0*(helper_2 + y) + helper_1 + helper_2*y)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
195const auto helper_1 = pow(helper_0, 2);
196const auto helper_2 = 4*x;
197result_0 = -helper_2*(2*helper_0*(x + y) + helper_1 + helper_2*y)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
198const auto helper_1 = 4*x*y;
199result_0 = helper_1*(helper_0*(2*x + y) + helper_1)/pow(helper_0, 3);val.col(2) = result_0; }} break;
200 case 7: {{const auto helper_0 = z - 1;
201const auto helper_1 = pow(helper_0, 2);
202const auto helper_2 = 4*y;
203result_0 = -helper_2*(2*helper_0*(x + y) + helper_1 + helper_2*x)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
204const auto helper_1 = pow(helper_0, 2);
205const auto helper_2 = 4*y;
206result_0 = -4*x*(helper_0*(helper_2 + x) + helper_1 + helper_2*x)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
207const auto helper_1 = 4*x*y;
208result_0 = helper_1*(helper_0*(x + 2*y) + helper_1)/pow(helper_0, 3);val.col(2) = result_0; }} break;
209 case 8: {{const auto helper_0 = z - 1;
210const auto helper_1 = pow(helper_0, 2);
211const auto helper_2 = 4*x;
212result_0 = -4*y*(helper_0*(helper_2 + 3*y) + 3*helper_1 + helper_2*y)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
213const auto helper_1 = pow(helper_0, 2);
214result_0 = -4*(2*helper_0*x*(x + 3*y) + helper_1*(helper_0 + 3*x + 2*y) + 4*pow(x, 2)*y)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
215const auto helper_1 = pow(helper_0, 3);
216const auto helper_2 = 4*y;
217result_0 = helper_2*(helper_0*x*(2*x + 3*y) - helper_1 + helper_2*pow(x, 2))/helper_1;val.col(2) = result_0; }} break;
218 case 9: {{const auto helper_0 = z - 1;
219result_0 = -4*z*(helper_0 + y)/helper_0;val.col(0) = result_0; }{const auto helper_0 = z - 1;
220result_0 = -4*z*(helper_0 + x)/helper_0;val.col(1) = result_0; }{result_0 = 4*(x*y/pow(z - 1, 2) - x - y - 2*z + 1);val.col(2) = result_0; }} break;
221 case 10: {{const auto helper_0 = z - 1;
222result_0 = 4*z*(helper_0 + y)/helper_0;val.col(0) = result_0; }{result_0 = 4*x*z/(z - 1);val.col(1) = result_0; }{result_0 = 4*x*(-y/pow(z - 1, 2) + 1);val.col(2) = result_0; }} break;
223 case 11: {{result_0 = -4*y*z/(z - 1);val.col(0) = result_0; }{result_0 = -4*x*z/(z - 1);val.col(1) = result_0; }{result_0 = 4*x*y/pow(z - 1, 2);val.col(2) = result_0; }} break;
224 case 12: {{result_0 = 4*y*z/(z - 1);val.col(0) = result_0; }{const auto helper_0 = z - 1;
225result_0 = 4*z*(helper_0 + x)/helper_0;val.col(1) = result_0; }{result_0 = 4*y*(-x/pow(z - 1, 2) + 1);val.col(2) = result_0; }} break;
226 case 13: {{const auto helper_0 = z - 1;
227const auto helper_1 = pow(helper_0, 2);
228const auto helper_2 = 2*x;
229result_0 = 16*y*(helper_0*(helper_2 + y) + helper_1 + helper_2*y)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
230const auto helper_1 = pow(helper_0, 2);
231const auto helper_2 = 2*y;
232result_0 = 16*x*(helper_0*(helper_2 + x) + helper_1 + helper_2*x)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
233const auto helper_1 = x*y;
234result_0 = -16*helper_1*(helper_0*(x + y) + 2*helper_1)/pow(helper_0, 3);val.col(2) = result_0; }} break;
235 default: assert(false);
236}}
237
238
239void pyramid_2_nodes_3d(Eigen::MatrixXd &res) {
240 res.resize(14, 3); res <<
2410, 0, 0,
2421, 0, 0,
2431, 1, 0,
2440, 1, 0,
2450, 0, 1,
2461.0/2.0, 0, 0,
2471, 1.0/2.0, 0,
2481.0/2.0, 1, 0,
2490, 1.0/2.0, 0,
2500, 0, 1.0/2.0,
2511.0/2.0, 0, 1.0/2.0,
2521.0/2.0, 1.0/2.0, 1.0/2.0,
2530, 1.0/2.0, 1.0/2.0,
2541.0/2.0, 1.0/2.0, 0;
255}
256
257
258void pyramid_3_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
259
260auto x=uv.col(0).array();
261auto y=uv.col(1).array();
262auto z=uv.col(2).array();
263
264switch(local_index){
265 case 0: {const auto helper_0 = z - 1;
266const auto helper_1 = pow(helper_0, 3);
267const auto helper_2 = pow(x, 3);
268const auto helper_3 = pow(y, 3);
269const auto helper_4 = pow(x, 2);
270const auto helper_5 = pow(y, 2);
271const auto helper_6 = pow(helper_0, 2);
272const auto helper_7 = x*y;
273const auto helper_8 = helper_6*helper_7;
274const auto helper_9 = 36*helper_0;
275const auto helper_10 = 54*helper_6;
276const auto helper_11 = -54*helper_0;
277result_0 = -1.0/4.0*(helper_0*helper_4*helper_5*(162*x + 162*y + 48.249999999998877) + helper_1*(219.24999999999875*helper_0*helper_7 + 18*helper_1 + helper_10*x + helper_10*y - helper_11*helper_4 - helper_11*helper_5 + 18*helper_2 + 18*helper_3 + 264.24999999999886*helper_4*y + 18*helper_4 + 264.24999999999875*helper_5*x + 18*helper_5 + 18*helper_6 + 102.24999999999889*helper_7 + helper_9*x + helper_9*y + 4*x + 4*y + 4*z - 4) + 81*helper_2*helper_3 + 99*helper_8*(helper_4 + helper_5) + helper_8*(372.24999999999881*helper_7 + 66.24999999999882*x + 66.24999999999892*y + 4))/helper_1;} break;
278 case 1: {const auto helper_0 = z - 1;
279const auto helper_1 = pow(helper_0, 3);
280const auto helper_2 = pow(x, 2);
281const auto helper_3 = pow(y, 3);
282const auto helper_4 = pow(helper_0, 2);
283const auto helper_5 = helper_4*y;
284const auto helper_6 = pow(y, 2);
285const auto helper_7 = x*y;
286result_0 = (1.0/4.0)*x*(helper_0*helper_6*x*(162*x + 81*y - 48.250000000000568) + helper_1*(-12.250000000000624*helper_0*y + 18*helper_2 + 5.749999999999301*helper_6 + 32.749999999999432*helper_7 - 18*x - 30.250000000000572*y + 4) + 81*helper_2*helper_3 + 99*helper_2*helper_5 + 18*helper_3*helper_4 + helper_5*(113.74999999999932*helper_7 - 66.250000000000597*x - 30.250000000000586*y + 4))/helper_1;} break;
287 case 2: {const auto helper_0 = z - 1;
288const auto helper_1 = pow(helper_0, 3);
289const auto helper_2 = pow(x, 2);
290const auto helper_3 = pow(y, 2);
291const auto helper_4 = x*y;
292const auto helper_5 = pow(helper_0, 2);
293result_0 = -1.0/4.0*helper_4*(helper_0*helper_4*(81*x + 81*y + 48.249999999999609) + helper_1*(48.249999999999595*x + 48.249999999999524*y + 30.249999999999577*z + 3.1974423109204508e-14) + 81*helper_2*helper_3 + 18*helper_5*(helper_2 + helper_3) + helper_5*(129.24999999999955*helper_4 + 30.249999999999606*x + 30.24999999999962*y + 4))/helper_1;} break;
294 case 3: {const auto helper_0 = z - 1;
295const auto helper_1 = pow(helper_0, 3);
296const auto helper_2 = pow(x, 3);
297const auto helper_3 = pow(y, 2);
298const auto helper_4 = pow(helper_0, 2);
299const auto helper_5 = helper_4*x;
300const auto helper_6 = pow(x, 2);
301const auto helper_7 = x*y;
302result_0 = (1.0/4.0)*y*(helper_0*helper_6*y*(81*x + 162*y - 48.250000000000739) + helper_1*(-12.250000000000737*helper_0*x + 18*helper_3 + 5.7499999999992788*helper_6 + 32.749999999999204*helper_7 - 30.2500000000007*x - 18*y + 4) + 81*helper_2*helper_3 + 18*helper_2*helper_4 + 99*helper_3*helper_5 + helper_5*(113.7499999999992*helper_7 - 30.250000000000735*x - 66.250000000000682*y + 4))/helper_1;} break;
303 case 4: {const auto helper_0 = z - 1;
304const auto helper_1 = pow(helper_0, 2);
305const auto helper_2 = pow(x, 2);
306const auto helper_3 = pow(y, 2);
307const auto helper_4 = 15.999999999999968*x;
308const auto helper_5 = x*y;
309const auto helper_6 = helper_0*helper_5;
310result_0 = (1.0/2.0)*(helper_1*(9*pow(helper_0, 3) + 18*helper_1 + 15.999999999999963*helper_2*y + 15.99999999999997*helper_3*x + 15.999999999999961*helper_5 + 15.999999999999963*helper_6 + 11*z - 9) + 15.999999999999966*helper_2*helper_3 + helper_6*(helper_4*y + helper_4 + 15.999999999999964*y))/helper_1;} break;
311 case 5: {const auto helper_0 = z - 1;
312const auto helper_1 = pow(helper_0, 3);
313const auto helper_2 = pow(x, 2);
314const auto helper_3 = pow(y, 3);
315const auto helper_4 = pow(helper_0, 2);
316const auto helper_5 = helper_4*y;
317const auto helper_6 = pow(y, 2);
318const auto helper_7 = helper_0*x;
319const auto helper_8 = x*y;
320result_0 = (1.0/4.0)*x*(helper_1*(254.24999999999733*helper_0*y + 54*helper_2 + 54*helper_4 + 362.24999999999733*helper_6 + 108*helper_7 + 551.24999999999761*helper_8 + 18*x + 56.249999999997598*y + 18*z - 18) + 243*helper_2*helper_3 + 297*helper_2*helper_5 + 162*helper_3*helper_4 + helper_5*(848.24999999999727*helper_8 + 56.249999999997442*x + 38.249999999997605*y) + helper_6*helper_7*(486*x + 405*y + 38.249999999997563))/helper_1;} break;
321 case 6: {const auto helper_0 = z - 1;
322const auto helper_1 = pow(helper_0, 3);
323const auto helper_2 = pow(x, 2);
324const auto helper_3 = pow(y, 2);
325const auto helper_4 = x*y;
326const auto helper_5 = pow(helper_0, 2)*y;
327result_0 = -1.0/4.0*x*(helper_0*helper_3*x*(486*x + 324*y - 38.250000000001755) + helper_1*(54*helper_0*x + 42.749999999998082*helper_0*y + 54*helper_2 + 123.74999999999788*helper_3 + 339.74999999999824*helper_4 - 18*x - 56.250000000001741*y - 18*z + 18) + 243*helper_2*pow(y, 3) + 27*helper_5*(11*helper_2 + 3*helper_3) - helper_5*(-609.74999999999795*helper_4 + 56.250000000001855*x + 38.250000000001734*y))/helper_1;} break;
328 case 7: {const auto helper_0 = z - 1;
329const auto helper_1 = pow(helper_0, 3);
330const auto helper_2 = pow(x, 2);
331const auto helper_3 = pow(y, 2);
332const auto helper_4 = x*y;
333const auto helper_5 = pow(helper_0, 2);
334result_0 = -1.0/4.0*helper_4*(helper_0*helper_4*(405*x + 243*y - 38.250000000001414) + helper_1*(123.74999999999854*x + 69.749999999998224*y + 15.749999999998474*z - 35.999999999999872) + 243*helper_2*helper_3 + 54*helper_5*(3*helper_2 + helper_3) - helper_5*(-366.74999999999841*helper_4 + 38.250000000001414*x + 20.250000000001375*y))/helper_1;} break;
335 case 8: {const auto helper_0 = z - 1;
336const auto helper_1 = pow(helper_0, 3);
337const auto helper_2 = pow(x, 2);
338const auto helper_3 = pow(y, 2);
339const auto helper_4 = pow(helper_0, 2);
340const auto helper_5 = x*y;
341result_0 = (1.0/4.0)*helper_5*(helper_0*helper_5*(324*x + 243*y + 38.249999999998778) + helper_1*(119.24999999999868*x + 92.249999999998465*y + 38.249999999998678*z - 17.999999999999915) + 243*helper_2*helper_3 + 81*helper_2*helper_4 + 54*helper_3*helper_4 + helper_4*(362.24999999999864*helper_5 + 38.249999999998771*x + 20.24999999999882*y))/helper_1;} break;
342 case 9: {const auto helper_0 = z - 1;
343const auto helper_1 = pow(helper_0, 3);
344const auto helper_2 = pow(x, 2);
345const auto helper_3 = pow(y, 2);
346const auto helper_4 = pow(helper_0, 2);
347const auto helper_5 = x*y;
348result_0 = (1.0/4.0)*helper_5*(helper_0*helper_5*(243*x + 324*y + 38.249999999998636) + helper_1*(92.249999999998579*x + 119.24999999999842*y + 38.249999999998586*z - 17.999999999999901) + 243*helper_2*helper_3 + 54*helper_2*helper_4 + 81*helper_3*helper_4 + helper_4*(362.24999999999858*helper_5 + 20.249999999998632*x + 38.249999999998693*y))/helper_1;} break;
349 case 10: {const auto helper_0 = z - 1;
350const auto helper_1 = pow(helper_0, 3);
351const auto helper_2 = pow(x, 2);
352const auto helper_3 = pow(y, 2);
353const auto helper_4 = x*y;
354const auto helper_5 = pow(helper_0, 2);
355result_0 = -1.0/4.0*helper_4*(helper_0*helper_4*(243*x + 405*y - 38.250000000001748) + helper_1*(69.749999999998195*x + 123.74999999999802*y + 15.749999999998227*z - 35.999999999999943) + 243*helper_2*helper_3 + 54*helper_5*(helper_2 + 3*helper_3) - helper_5*(-366.74999999999812*helper_4 + 20.250000000001748*x + 38.250000000001648*y))/helper_1;} break;
356 case 11: {const auto helper_0 = z - 1;
357const auto helper_1 = pow(helper_0, 3);
358const auto helper_2 = pow(y, 2);
359const auto helper_3 = pow(x, 2);
360const auto helper_4 = x*y;
361const auto helper_5 = pow(helper_0, 2)*x;
362result_0 = -1.0/4.0*y*(helper_0*helper_3*y*(324*x + 486*y - 38.250000000002267) + helper_1*(42.749999999997655*helper_0*x + 54*helper_0*y + 54*helper_2 + 123.7499999999977*helper_3 + 339.74999999999744*helper_4 - 56.25000000000226*x - 18*y - 18*z + 18) + 243*helper_2*pow(x, 3) + 27*helper_5*(11*helper_2 + 3*helper_3) - helper_5*(-609.7499999999975*helper_4 + 38.250000000002359*x + 56.250000000002153*y))/helper_1;} break;
363 case 12: {const auto helper_0 = z - 1;
364const auto helper_1 = pow(helper_0, 3);
365const auto helper_2 = pow(x, 3);
366const auto helper_3 = pow(y, 2);
367const auto helper_4 = pow(helper_0, 2);
368const auto helper_5 = helper_4*x;
369const auto helper_6 = pow(x, 2);
370const auto helper_7 = helper_0*y;
371const auto helper_8 = x*y;
372result_0 = (1.0/4.0)*y*(helper_1*(254.24999999999736*helper_0*x + 54*helper_3 + 54*helper_4 + 362.2499999999975*helper_6 + 108*helper_7 + 551.24999999999727*helper_8 + 56.24999999999752*x + 18*y + 18*z - 18) + 243*helper_2*helper_3 + 162*helper_2*helper_4 + 297*helper_3*helper_5 + helper_5*(848.24999999999727*helper_8 + 38.249999999997378*x + 56.24999999999762*y) + helper_6*helper_7*(405*x + 486*y + 38.249999999997499))/helper_1;} break;
373 case 13: {const auto helper_0 = z - 1;
374const auto helper_1 = pow(helper_0, 2);
375const auto helper_2 = 9*x;
376const auto helper_3 = pow(x, 2);
377const auto helper_4 = pow(y, 2);
378const auto helper_5 = 98.999999999999545*y;
379const auto helper_6 = x*y;
380const auto helper_7 = helper_0*helper_6;
381const auto helper_8 = 27*helper_3;
382const auto helper_9 = 27*helper_4;
383const auto helper_10 = 63*helper_0;
384const auto helper_11 = 54*helper_1;
385result_0 = (1.0/2.0)*(helper_0*helper_2*y + helper_1*(27*pow(helper_0, 3) + helper_0*helper_8 + helper_0*helper_9 + 36*helper_1 + helper_10*x + helper_10*y + helper_11*x + helper_11*y + helper_2 + helper_3*helper_5 + 98.999999999999574*helper_4*x + 161.99999999999955*helper_6 + 152.99999999999952*helper_7 + helper_8 + helper_9 + 9*y + 9*z - 9) + 71.999999999999559*helper_3*helper_4 + helper_7*(helper_5 + 71.999999999999545*helper_6 + 98.999999999999545*x))/helper_1;} break;
386 case 14: {const auto helper_0 = z - 1;
387const auto helper_1 = pow(helper_0, 2);
388const auto helper_2 = pow(x, 2);
389const auto helper_3 = pow(y, 2);
390const auto helper_4 = x*y;
391const auto helper_5 = helper_0*helper_4;
392const auto helper_6 = 45*helper_0;
393const auto helper_7 = 27*helper_1;
394result_0 = -1.0/2.0*(helper_1*(27*pow(helper_0, 3) + 45*helper_1 + 35.999999999999758*helper_2*y + 35.999999999999773*helper_3*x + 80.999999999999773*helper_4 + 62.999999999999744*helper_5 + helper_6*x + helper_6*y + helper_7*x + helper_7*y + 18*x + 18*y + 18*z - 18) + 35.999999999999766*helper_2*helper_3 + helper_5*(35.999999999999758*helper_4 + 35.999999999999751*x + 35.999999999999773*y + 18))/helper_1;} break;
395 case 15: {const auto helper_0 = z - 1;
396const auto helper_1 = pow(helper_0, 2);
397const auto helper_2 = pow(y, 2);
398const auto helper_3 = helper_0*y;
399const auto helper_4 = x*y;
400const auto helper_5 = 27*x;
401result_0 = (1.0/2.0)*x*(helper_1*(helper_0*helper_5 + 45.000000000000064*helper_2 + 45.00000000000005*helper_3 + 99.000000000000043*helper_4 + helper_5 + 36.000000000000043*y - 9*z) + 72.000000000000043*helper_2*x + helper_3*(72.000000000000043*helper_4 + 99.000000000000028*x + 45.000000000000043*y) - 9*helper_3)/helper_1;} break;
402 case 16: {const auto helper_0 = z - 1;
403const auto helper_1 = pow(helper_0, 2);
404const auto helper_2 = 36.000000000000071*pow(y, 2);
405const auto helper_3 = 36.000000000000064*x;
406const auto helper_4 = helper_3*y;
407const auto helper_5 = helper_0*y;
408result_0 = -1.0/2.0*x*(helper_1*(-27*helper_1 + helper_2 + helper_4 + 9.0000000000000639*helper_5 - 8.9999999999999378*y - 45*z + 27) + helper_2*x + helper_5*(helper_3 + helper_4 + 36.000000000000064*y - 18))/helper_1;} break;
409 case 17: {const auto helper_0 = z - 1;
410const auto helper_1 = pow(helper_0, 2);
411const auto helper_2 = x*y;
412result_0 = (1.0/2.0)*helper_2*(2*helper_0*(35.999999999999993*helper_2 + 22.499999999999993*x + 22.499999999999993*y) + helper_1*(44.999999999999986*x + 45.000000000000007*y + 44.999999999999993*z + 8.9999999999999858) + 71.999999999999972*helper_2 + 9*z - 9)/helper_1;} break;
413 case 18: {const auto helper_0 = z - 1;
414const auto helper_1 = pow(helper_0, 2);
415const auto helper_2 = x*y;
416const auto helper_3 = 17.999999999999996*x;
417result_0 = -helper_2*(helper_0*(helper_3*y + helper_3 + 17.999999999999996*y + 9) + helper_1*(helper_3 + 18.0*y + 31.499999999999986*z + 9.0000000000000142) + 17.999999999999993*helper_2)/helper_1;} break;
418 case 19: {const auto helper_0 = z - 1;
419const auto helper_1 = pow(helper_0, 2);
420const auto helper_2 = pow(x, 2);
421const auto helper_3 = helper_0*x;
422const auto helper_4 = x*y;
423const auto helper_5 = 27*y;
424result_0 = (1.0/2.0)*y*(helper_1*(helper_0*helper_5 + 44.999999999999964*helper_2 + 44.999999999999943*helper_3 + 98.999999999999986*helper_4 + helper_5 + 35.999999999999964*x - 9*z) + 71.999999999999957*helper_2*y + helper_3*(71.999999999999972*helper_4 + 44.99999999999995*x + 98.999999999999943*y) - 9*helper_3)/helper_1;} break;
425 case 20: {const auto helper_0 = z - 1;
426const auto helper_1 = pow(helper_0, 2);
427const auto helper_2 = pow(x, 2);
428const auto helper_3 = 36.000000000000071*y;
429const auto helper_4 = 36.000000000000064*x;
430const auto helper_5 = helper_0*x;
431result_0 = -1.0/2.0*y*(helper_1*(-27*helper_1 + 36.000000000000064*helper_2 + helper_3*x + 9.0000000000000639*helper_5 - 8.9999999999999378*x - 45*z + 27) + helper_2*helper_3 + helper_5*(helper_4*y + helper_4 + 36.000000000000064*y - 18))/helper_1;} break;
432 case 21: {const auto helper_0 = z - 1;
433const auto helper_1 = pow(helper_0, 2);
434const auto helper_2 = pow(y, 2);
435const auto helper_3 = 53.99999999999995*x;
436const auto helper_4 = helper_0*y;
437const auto helper_5 = 80.999999999999957*y;
438const auto helper_6 = 27*x;
439result_0 = -x*(helper_1*(helper_0*helper_6 + 27*helper_1 + 53.999999999999964*helper_2 + 80.999999999999929*helper_4 + helper_5*x + helper_5 + helper_6 + 27*z - 27) + helper_2*helper_3 + helper_4*(helper_3*y + 80.999999999999957*x + 53.999999999999943*y))/helper_1;} break;
440 case 22: {const auto helper_0 = z - 1;
441const auto helper_1 = pow(helper_0, 2);
442const auto helper_2 = 54.000000000000028*x;
443const auto helper_3 = x*y;
444result_0 = -helper_3*(helper_0*(54.000000000000036*helper_3 + 54.000000000000021*x + 27.000000000000032*y) + helper_1*(helper_2 + 27.000000000000025*y + 27.000000000000025*z) + helper_2*y)/helper_1;} break;
445 case 23: {const auto helper_0 = z - 1;
446const auto helper_1 = pow(helper_0, 2);
447const auto helper_2 = 54.0*y;
448const auto helper_3 = x*y;
449const auto helper_4 = helper_2 + 26.999999999999993*x;
450result_0 = -helper_3*(helper_0*(53.999999999999986*helper_3 + helper_4) + helper_1*(helper_4 + 26.999999999999986*z + 3.5527136788005009e-15) + helper_2*x)/helper_1;} break;
451 case 24: {const auto helper_0 = z - 1;
452const auto helper_1 = pow(helper_0, 2);
453const auto helper_2 = 53.999999999999901*pow(x, 2);
454const auto helper_3 = x*y;
455const auto helper_4 = helper_0*x;
456const auto helper_5 = 27*y;
457result_0 = -y*(helper_1*(helper_0*helper_5 + 27*helper_1 + helper_2 + 80.999999999999915*helper_3 + 80.999999999999886*helper_4 + helper_5 + 80.999999999999901*x + 27*z - 27) + helper_2*y + helper_4*(53.999999999999908*helper_3 + 53.999999999999901*x + 80.999999999999886*y))/helper_1;} break;
458 case 25: {const auto helper_0 = z - 1;
459const auto helper_1 = pow(helper_0, 3);
460const auto helper_2 = pow(x, 2);
461const auto helper_3 = pow(y, 2);
462const auto helper_4 = x*y;
463const auto helper_5 = pow(helper_0, 2);
464result_0 = -1.0/4.0*helper_4*(helper_0*helper_4*(1215*x + 1215*y + 20.249999999994209) + helper_1*(830.2499999999942*x + 830.24999999999329*y + 344.24999999999386*z - 323.99999999999955) + 729*helper_2*helper_3 + 486*helper_5*(helper_2 + helper_3) + helper_5*(2045.2499999999936*helper_4 + 20.249999999993996*x + 20.249999999994483*y))/helper_1;} break;
465 case 26: {const auto helper_0 = z - 1;
466const auto helper_1 = pow(helper_0, 3);
467const auto helper_2 = pow(x, 2);
468const auto helper_3 = pow(y, 2);
469const auto helper_4 = pow(helper_0, 2);
470const auto helper_5 = x*y;
471result_0 = (1.0/4.0)*helper_5*(helper_0*helper_5*(972*x + 1215*y - 20.250000000005407) + helper_1*(384.74999999999443*x + 627.74999999999386*y + 141.74999999999432*z - 161.99999999999972) + 729*helper_2*helper_3 + 243*helper_2*helper_4 + 486*helper_3*helper_4 - helper_4*(-1599.7499999999943*helper_5 + 20.250000000005613*x + 20.25000000000513*y))/helper_1;} break;
472 case 27: {const auto helper_0 = z - 1;
473const auto helper_1 = pow(helper_0, 3);
474const auto helper_2 = pow(x, 2);
475const auto helper_3 = pow(y, 2);
476const auto helper_4 = pow(helper_0, 2);
477const auto helper_5 = x*y;
478result_0 = (1.0/4.0)*helper_5*(helper_0*helper_5*(1215*x + 972*y - 20.250000000004579) + helper_1*(627.74999999999534*x + 384.74999999999449*y + 141.74999999999511*z - 161.99999999999963) + 729*helper_2*helper_3 + 486*helper_2*helper_4 + 243*helper_3*helper_4 - helper_4*(-1599.7499999999948*helper_5 + 20.250000000004697*x + 20.250000000004395*y))/helper_1;} break;
479 case 28: {const auto helper_0 = z - 1;
480const auto helper_1 = pow(helper_0, 3);
481const auto helper_2 = pow(x, 2);
482const auto helper_3 = pow(y, 2);
483const auto helper_4 = x*y;
484const auto helper_5 = pow(helper_0, 2);
485result_0 = -1.0/4.0*helper_4*(helper_0*helper_4*(972*x + 972*y + 20.249999999995719) + helper_1*(344.24999999999551*x + 344.24999999999494*y + 101.24999999999541*z - 80.999999999999716) + 729*helper_2*helper_3 + 243*helper_5*(helper_2 + helper_3) + helper_5*(1316.2499999999955*helper_4 + 20.249999999995573*x + 20.24999999999589*y))/helper_1;} break;
486 case 29: {const auto helper_0 = z - 1;
487const auto helper_1 = pow(helper_0, 2);
488const auto helper_2 = 128.00000000000006*x;
489const auto helper_3 = x*y;
490result_0 = helper_3*(128.00000000000006*helper_0*(helper_3 + x + y) + helper_1*(helper_2 + 128.00000000000009*y + 128.00000000000003*z + 2.8421709430404007e-14) + helper_2*y)/helper_1;} break;
491 default: assert(false);
492}}
493void pyramid_3_basis_grad_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val){
494
495auto x=uv.col(0).array();
496auto y=uv.col(1).array();
497auto z=uv.col(2).array();
498
499val.resize(uv.rows(), uv.cols());
500 Eigen::ArrayXd result_0(uv.rows());
501switch(local_index){
502 case 0: {{const auto helper_0 = z - 1;
503const auto helper_1 = pow(helper_0, 3);
504const auto helper_2 = pow(x, 2);
505const auto helper_3 = pow(y, 2);
506const auto helper_4 = helper_0*x;
507const auto helper_5 = pow(helper_0, 2);
508const auto helper_6 = helper_5*y;
509const auto helper_7 = x*y;
510result_0 = -1.0/4.0*(helper_1*(219.24999999999875*helper_0*y + 54*helper_2 + 264.24999999999875*helper_3 + 108*helper_4 + 54*helper_5 + 528.49999999999773*helper_7 + 36*x + 102.24999999999889*y + 36*z - 32) + 243*helper_2*pow(y, 3) + helper_3*helper_4*(486*x + 324*y + 96.499999999997755) + 99*helper_6*(3*helper_2 + helper_3) + helper_6*(744.49999999999761*helper_7 + 132.49999999999764*x + 66.24999999999892*y + 4))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
511const auto helper_1 = pow(helper_0, 3);
512const auto helper_2 = pow(y, 2);
513const auto helper_3 = pow(x, 2);
514const auto helper_4 = helper_0*y;
515const auto helper_5 = pow(helper_0, 2);
516const auto helper_6 = helper_5*x;
517const auto helper_7 = x*y;
518result_0 = -1.0/4.0*(helper_1*(219.24999999999875*helper_0*x + 54*helper_2 + 264.24999999999886*helper_3 + 108*helper_4 + 54*helper_5 + 528.4999999999975*helper_7 + 102.24999999999889*x + 36*y + 36*z - 32) + 243*helper_2*pow(x, 3) + helper_3*helper_4*(324*x + 486*y + 96.499999999997755) + 99*helper_6*(3*helper_2 + helper_3) + helper_6*(744.49999999999761*helper_7 + 66.24999999999882*x + 132.49999999999784*y + 4))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
519const auto helper_1 = pow(helper_0, 4);
520const auto helper_2 = pow(x, 2);
521const auto helper_3 = pow(y, 2);
522const auto helper_4 = pow(helper_0, 2);
523const auto helper_5 = x*y;
524const auto helper_6 = 108*helper_0;
525result_0 = (1.0/4.0)*(helper_0*helper_2*helper_3*(324*x + 324*y + 96.499999999997755) - helper_1*(54*helper_2 + 54*helper_3 + 54*helper_4 + 219.24999999999875*helper_5 + helper_6*x + helper_6*y + 36*x + 36*y + 36*z - 32) + helper_4*helper_5*(99*helper_2 + 99*helper_3 + 372.24999999999881*helper_5 + 66.24999999999882*x + 66.24999999999892*y + 4) + 243*pow(x, 3)*pow(y, 3))/helper_1;val.col(2) = result_0; }} break;
526 case 1: {{const auto helper_0 = z - 1;
527const auto helper_1 = pow(helper_0, 3);
528const auto helper_2 = pow(x, 2);
529const auto helper_3 = pow(y, 3);
530const auto helper_4 = pow(helper_0, 2);
531const auto helper_5 = helper_4*y;
532const auto helper_6 = pow(y, 2);
533const auto helper_7 = x*y;
534result_0 = (1.0/4.0)*(helper_0*helper_6*x*(486*x + 162*y - 96.500000000001137) + helper_1*(-12.250000000000624*helper_0*y + 54*helper_2 + 5.749999999999301*helper_6 + 65.499999999998863*helper_7 - 36*x - 30.250000000000572*y + 4) + 243*helper_2*helper_3 + 297*helper_2*helper_5 + 18*helper_3*helper_4 + helper_5*(227.49999999999864*helper_7 - 132.50000000000119*x - 30.250000000000586*y + 4))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
535const auto helper_1 = pow(helper_0, 3);
536const auto helper_2 = pow(x, 2);
537const auto helper_3 = pow(y, 2);
538const auto helper_4 = pow(helper_0, 2);
539const auto helper_5 = x*y;
540result_0 = (1.0/4.0)*x*(helper_0*helper_5*(324*x + 243*y - 96.500000000001137) + helper_1*(32.749999999999432*x + 11.499999999998602*y - 12.250000000000624*z - 17.99999999999995) + 243*helper_2*helper_3 + 99*helper_2*helper_4 + 54*helper_3*helper_4 + helper_4*(227.49999999999864*helper_5 - 66.250000000000597*x - 60.500000000001172*y + 4))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
541const auto helper_1 = pow(helper_0, 4);
542const auto helper_2 = pow(x, 2);
543const auto helper_3 = pow(y, 2);
544const auto helper_4 = x*y;
545result_0 = -1.0/4.0*helper_4*(pow(helper_0, 2)*(99*helper_2 + 18*helper_3 + 113.74999999999932*helper_4 - 66.250000000000597*x - 30.250000000000586*y + 4) + helper_0*helper_4*(324*x + 162*y - 96.500000000001137) + 12.250000000000624*helper_1 + 243*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
546 case 2: {{const auto helper_0 = z - 1;
547const auto helper_1 = pow(helper_0, 3);
548const auto helper_2 = pow(x, 2);
549const auto helper_3 = pow(y, 2);
550const auto helper_4 = x*y;
551const auto helper_5 = pow(helper_0, 2);
552result_0 = -1.0/4.0*y*(helper_0*helper_4*(243*x + 162*y + 96.499999999999218) + helper_1*(96.49999999999919*x + 48.249999999999524*y + 30.249999999999577*z + 3.1974423109204508e-14) + 243*helper_2*helper_3 + 18*helper_5*(3*helper_2 + helper_3) + helper_5*(258.49999999999909*helper_4 + 60.499999999999211*x + 30.24999999999962*y + 4))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
553const auto helper_1 = pow(helper_0, 3);
554const auto helper_2 = pow(x, 2);
555const auto helper_3 = pow(y, 2);
556const auto helper_4 = x*y;
557const auto helper_5 = pow(helper_0, 2);
558result_0 = -1.0/4.0*x*(helper_0*helper_4*(162*x + 243*y + 96.499999999999218) + helper_1*(48.249999999999595*x + 96.499999999999048*y + 30.249999999999577*z + 3.1974423109204508e-14) + 243*helper_2*helper_3 + 18*helper_5*(helper_2 + 3*helper_3) + helper_5*(258.49999999999909*helper_4 + 30.249999999999606*x + 60.49999999999924*y + 4))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
559const auto helper_1 = pow(helper_0, 4);
560const auto helper_2 = pow(x, 2);
561const auto helper_3 = pow(y, 2);
562const auto helper_4 = x*y;
563result_0 = (1.0/4.0)*helper_4*(pow(helper_0, 2)*(18*helper_2 + 18*helper_3 + 129.24999999999955*helper_4 + 30.249999999999606*x + 30.24999999999962*y + 4) + helper_0*helper_4*(162*x + 162*y + 96.499999999999218) - 30.249999999999577*helper_1 + 243*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
564 case 3: {{const auto helper_0 = z - 1;
565const auto helper_1 = pow(helper_0, 3);
566const auto helper_2 = pow(x, 2);
567const auto helper_3 = pow(y, 2);
568const auto helper_4 = pow(helper_0, 2);
569const auto helper_5 = x*y;
570result_0 = (1.0/4.0)*y*(helper_0*helper_5*(243*x + 324*y - 96.500000000001478) + helper_1*(11.499999999998558*x + 32.749999999999204*y - 12.250000000000737*z - 17.999999999999964) + 243*helper_2*helper_3 + 54*helper_2*helper_4 + 99*helper_3*helper_4 + helper_4*(227.49999999999841*helper_5 - 60.500000000001471*x - 66.250000000000682*y + 4))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
571const auto helper_1 = pow(helper_0, 3);
572const auto helper_2 = pow(x, 3);
573const auto helper_3 = pow(y, 2);
574const auto helper_4 = pow(helper_0, 2);
575const auto helper_5 = helper_4*x;
576const auto helper_6 = pow(x, 2);
577const auto helper_7 = x*y;
578result_0 = (1.0/4.0)*(helper_0*helper_6*y*(162*x + 486*y - 96.500000000001478) + helper_1*(-12.250000000000737*helper_0*x + 54*helper_3 + 5.7499999999992788*helper_6 + 65.499999999998408*helper_7 - 30.2500000000007*x - 36*y + 4) + 243*helper_2*helper_3 + 18*helper_2*helper_4 + 297*helper_3*helper_5 + helper_5*(227.49999999999841*helper_7 - 30.250000000000735*x - 132.50000000000136*y + 4))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
579const auto helper_1 = pow(helper_0, 4);
580const auto helper_2 = pow(x, 2);
581const auto helper_3 = pow(y, 2);
582const auto helper_4 = x*y;
583result_0 = -1.0/4.0*helper_4*(pow(helper_0, 2)*(18*helper_2 + 99*helper_3 + 113.7499999999992*helper_4 - 30.250000000000735*x - 66.250000000000682*y + 4) + helper_0*helper_4*(162*x + 324*y - 96.500000000001478) + 12.250000000000737*helper_1 + 243*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
584 case 4: {{const auto helper_0 = z - 1;
585const auto helper_1 = pow(helper_0, 2);
586const auto helper_2 = 15.999999999999968*x;
587result_0 = y*(helper_0*(helper_2*y + helper_2 + 7.9999999999999822*y) + helper_1*(15.999999999999963*x + 7.9999999999999849*y + 7.9999999999999813*z - 8.8817841970012523e-16) + 15.999999999999966*x*y)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
588const auto helper_1 = pow(helper_0, 2);
589const auto helper_2 = x*y;
590result_0 = x*(helper_0*(15.999999999999968*helper_2 + 7.999999999999984*x + 15.999999999999964*y) + helper_1*(7.9999999999999813*x + 15.99999999999997*y + 7.9999999999999813*z - 8.8817841970012523e-16) + 15.999999999999966*helper_2)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
591const auto helper_1 = pow(helper_0, 3);
592const auto helper_2 = 15.999999999999968*x;
593const auto helper_3 = x*y;
594result_0 = -1.0/2.0*(helper_0*helper_3*(helper_2*y + helper_2 + 15.999999999999964*y) - helper_1*(27*pow(helper_0, 2) + 15.999999999999963*helper_3 + 36*z - 25) + 31.999999999999932*pow(x, 2)*pow(y, 2))/helper_1;val.col(2) = result_0; }} break;
595 case 5: {{const auto helper_0 = z - 1;
596const auto helper_1 = pow(helper_0, 3);
597const auto helper_2 = pow(x, 2);
598const auto helper_3 = pow(y, 3);
599const auto helper_4 = pow(helper_0, 2);
600const auto helper_5 = helper_4*y;
601const auto helper_6 = pow(y, 2);
602const auto helper_7 = helper_0*x;
603const auto helper_8 = x*y;
604result_0 = (1.0/4.0)*(helper_1*(254.24999999999733*helper_0*y + 162*helper_2 + 54*helper_4 + 362.24999999999733*helper_6 + 216*helper_7 + 1102.4999999999952*helper_8 + 36*x + 56.249999999997598*y + 18*z - 18) + 729*helper_2*helper_3 + 891*helper_2*helper_5 + 162*helper_3*helper_4 + helper_5*(1696.4999999999945*helper_8 + 112.49999999999488*x + 38.249999999997605*y) + helper_6*helper_7*(1458*x + 810*y + 76.499999999995126))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
605const auto helper_1 = pow(helper_0, 3);
606const auto helper_2 = pow(x, 2);
607const auto helper_3 = pow(y, 2);
608const auto helper_4 = pow(helper_0, 2);
609const auto helper_5 = x*y;
610result_0 = (1.0/4.0)*x*(helper_0*helper_5*(972*x + 1215*y + 76.499999999995126) + helper_1*(551.24999999999761*x + 724.49999999999466*y + 254.24999999999733*z - 197.99999999999972) + 729*helper_2*helper_3 + 297*helper_2*helper_4 + 486*helper_3*helper_4 + helper_4*(1696.4999999999945*helper_5 + 56.249999999997442*x + 76.499999999995211*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
611const auto helper_1 = pow(helper_0, 4);
612const auto helper_2 = pow(x, 2);
613const auto helper_3 = pow(y, 2);
614result_0 = -1.0/4.0*x*(pow(helper_0, 2)*y*(297*helper_2 + 162*helper_3 + 848.24999999999727*x*y + 56.249999999997442*x + 38.249999999997605*y) + helper_0*helper_3*x*(972*x + 810*y + 76.499999999995126) - helper_1*(108*x + 254.24999999999733*y + 108*z - 90) + 729*helper_2*pow(y, 3))/helper_1;val.col(2) = result_0; }} break;
615 case 6: {{const auto helper_0 = z - 1;
616const auto helper_1 = pow(helper_0, 3);
617const auto helper_2 = pow(x, 2);
618const auto helper_3 = pow(y, 2);
619const auto helper_4 = helper_0*x;
620const auto helper_5 = pow(helper_0, 2)*y;
621const auto helper_6 = x*y;
622result_0 = -1.0/4.0*(helper_1*(42.749999999998082*helper_0*y + 162*helper_2 + 123.74999999999788*helper_3 + 108*helper_4 + 679.49999999999648*helper_6 - 36*x - 56.250000000001741*y - 18*z + 18) + 729*helper_2*pow(y, 3) + helper_3*helper_4*(1458*x + 648*y - 76.50000000000351) + 81*helper_5*(11*helper_2 + helper_3) - helper_5*(-1219.4999999999959*helper_6 + 112.50000000000371*x + 38.250000000001734*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
623const auto helper_1 = pow(helper_0, 3);
624const auto helper_2 = pow(x, 2);
625const auto helper_3 = pow(y, 2);
626const auto helper_4 = x*y;
627const auto helper_5 = pow(helper_0, 2);
628result_0 = -1.0/4.0*x*(helper_0*helper_4*(972*x + 972*y - 76.50000000000351) + helper_1*(339.74999999999824*x + 247.49999999999577*y + 42.749999999998082*z - 98.999999999999829) + 729*helper_2*helper_3 + 27*helper_5*(11*helper_2 + 9*helper_3) - helper_5*(-1219.4999999999959*helper_4 + 56.250000000001855*x + 76.500000000003467*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
629const auto helper_1 = pow(helper_0, 4);
630const auto helper_2 = pow(x, 2);
631const auto helper_3 = pow(y, 2);
632result_0 = (1.0/4.0)*x*(pow(helper_0, 2)*y*(297*helper_2 + 81*helper_3 + 609.74999999999795*x*y - 56.250000000001855*x - 38.250000000001734*y) + helper_0*helper_3*x*(972*x + 648*y - 76.50000000000351) - helper_1*(54*x + 42.749999999998082*y - 18) + 729*helper_2*pow(y, 3))/helper_1;val.col(2) = result_0; }} break;
633 case 7: {{const auto helper_0 = z - 1;
634const auto helper_1 = pow(helper_0, 3);
635const auto helper_2 = pow(x, 2);
636const auto helper_3 = pow(y, 2);
637const auto helper_4 = x*y;
638const auto helper_5 = pow(helper_0, 2);
639result_0 = -1.0/4.0*y*(helper_0*helper_4*(1215*x + 486*y - 76.500000000002828) + helper_1*(247.49999999999707*x + 69.749999999998224*y + 15.749999999998474*z - 35.999999999999872) + 729*helper_2*helper_3 + 54*helper_5*(9*helper_2 + helper_3) - helper_5*(-733.49999999999682*helper_4 + 76.500000000002828*x + 20.250000000001375*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
640const auto helper_1 = pow(helper_0, 3);
641const auto helper_2 = pow(x, 2);
642const auto helper_3 = pow(y, 2);
643const auto helper_4 = x*y;
644const auto helper_5 = pow(helper_0, 2);
645result_0 = -1.0/4.0*x*(helper_0*helper_4*(810*x + 729*y - 76.500000000002828) + helper_1*(123.74999999999854*x + 139.49999999999645*y + 15.749999999998474*z - 35.999999999999872) + 729*helper_2*helper_3 + 162*helper_5*(helper_2 + helper_3) - helper_5*(-733.49999999999682*helper_4 + 38.250000000001414*x + 40.50000000000275*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
646const auto helper_1 = pow(helper_0, 4);
647const auto helper_2 = pow(x, 2);
648const auto helper_3 = pow(y, 2);
649const auto helper_4 = x*y;
650result_0 = (1.0/4.0)*helper_4*(pow(helper_0, 2)*(162*helper_2 + 54*helper_3 + 366.74999999999841*helper_4 - 38.250000000001414*x - 20.250000000001375*y) + helper_0*helper_4*(810*x + 486*y - 76.500000000002828) - 15.749999999998474*helper_1 + 729*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
651 case 8: {{const auto helper_0 = z - 1;
652const auto helper_1 = pow(helper_0, 3);
653const auto helper_2 = pow(x, 2);
654const auto helper_3 = pow(y, 2);
655const auto helper_4 = pow(helper_0, 2);
656const auto helper_5 = x*y;
657result_0 = (1.0/4.0)*y*(helper_0*helper_5*(972*x + 486*y + 76.499999999997556) + helper_1*(238.49999999999736*x + 92.249999999998465*y + 38.249999999998678*z - 17.999999999999915) + 729*helper_2*helper_3 + 243*helper_2*helper_4 + 54*helper_3*helper_4 + helper_4*(724.49999999999727*helper_5 + 76.499999999997542*x + 20.24999999999882*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
658const auto helper_1 = pow(helper_0, 3);
659const auto helper_2 = pow(x, 2);
660const auto helper_3 = pow(y, 2);
661const auto helper_4 = pow(helper_0, 2);
662const auto helper_5 = x*y;
663result_0 = (1.0/4.0)*x*(helper_0*helper_5*(648*x + 729*y + 76.499999999997556) + helper_1*(119.24999999999868*x + 184.49999999999693*y + 38.249999999998678*z - 17.999999999999915) + 729*helper_2*helper_3 + 81*helper_2*helper_4 + 162*helper_3*helper_4 + helper_4*(724.49999999999727*helper_5 + 38.249999999998771*x + 40.499999999997641*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
664const auto helper_1 = pow(helper_0, 4);
665const auto helper_2 = pow(x, 2);
666const auto helper_3 = pow(y, 2);
667const auto helper_4 = x*y;
668result_0 = -1.0/4.0*helper_4*(pow(helper_0, 2)*(81*helper_2 + 54*helper_3 + 362.24999999999864*helper_4 + 38.249999999998771*x + 20.24999999999882*y) + helper_0*helper_4*(648*x + 486*y + 76.499999999997556) - 38.249999999998678*helper_1 + 729*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
669 case 9: {{const auto helper_0 = z - 1;
670const auto helper_1 = pow(helper_0, 3);
671const auto helper_2 = pow(x, 2);
672const auto helper_3 = pow(y, 2);
673const auto helper_4 = pow(helper_0, 2);
674const auto helper_5 = x*y;
675result_0 = (1.0/4.0)*y*(helper_0*helper_5*(729*x + 648*y + 76.499999999997272) + helper_1*(184.49999999999716*x + 119.24999999999842*y + 38.249999999998586*z - 17.999999999999901) + 729*helper_2*helper_3 + 162*helper_2*helper_4 + 81*helper_3*helper_4 + helper_4*(724.49999999999716*helper_5 + 40.499999999997264*x + 38.249999999998693*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
676const auto helper_1 = pow(helper_0, 3);
677const auto helper_2 = pow(x, 2);
678const auto helper_3 = pow(y, 2);
679const auto helper_4 = pow(helper_0, 2);
680const auto helper_5 = x*y;
681result_0 = (1.0/4.0)*x*(helper_0*helper_5*(486*x + 972*y + 76.499999999997272) + helper_1*(92.249999999998579*x + 238.49999999999685*y + 38.249999999998586*z - 17.999999999999901) + 729*helper_2*helper_3 + 54*helper_2*helper_4 + 243*helper_3*helper_4 + helper_4*(724.49999999999716*helper_5 + 20.249999999998632*x + 76.499999999997385*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
682const auto helper_1 = pow(helper_0, 4);
683const auto helper_2 = pow(x, 2);
684const auto helper_3 = pow(y, 2);
685const auto helper_4 = x*y;
686result_0 = -1.0/4.0*helper_4*(pow(helper_0, 2)*(54*helper_2 + 81*helper_3 + 362.24999999999858*helper_4 + 20.249999999998632*x + 38.249999999998693*y) + helper_0*helper_4*(486*x + 648*y + 76.499999999997272) - 38.249999999998586*helper_1 + 729*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
687 case 10: {{const auto helper_0 = z - 1;
688const auto helper_1 = pow(helper_0, 3);
689const auto helper_2 = pow(x, 2);
690const auto helper_3 = pow(y, 2);
691const auto helper_4 = x*y;
692const auto helper_5 = pow(helper_0, 2);
693result_0 = -1.0/4.0*y*(helper_0*helper_4*(729*x + 810*y - 76.500000000003496) + helper_1*(139.49999999999639*x + 123.74999999999802*y + 15.749999999998227*z - 35.999999999999943) + 729*helper_2*helper_3 + 162*helper_5*(helper_2 + helper_3) - helper_5*(-733.49999999999625*helper_4 + 40.500000000003496*x + 38.250000000001648*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
694const auto helper_1 = pow(helper_0, 3);
695const auto helper_2 = pow(x, 2);
696const auto helper_3 = pow(y, 2);
697const auto helper_4 = x*y;
698const auto helper_5 = pow(helper_0, 2);
699result_0 = -1.0/4.0*x*(helper_0*helper_4*(486*x + 1215*y - 76.500000000003496) + helper_1*(69.749999999998195*x + 247.49999999999605*y + 15.749999999998227*z - 35.999999999999943) + 729*helper_2*helper_3 + 54*helper_5*(helper_2 + 9*helper_3) - helper_5*(-733.49999999999625*helper_4 + 20.250000000001748*x + 76.500000000003297*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
700const auto helper_1 = pow(helper_0, 4);
701const auto helper_2 = pow(x, 2);
702const auto helper_3 = pow(y, 2);
703const auto helper_4 = x*y;
704result_0 = (1.0/4.0)*helper_4*(pow(helper_0, 2)*(54*helper_2 + 162*helper_3 + 366.74999999999812*helper_4 - 20.250000000001748*x - 38.250000000001648*y) + helper_0*helper_4*(486*x + 810*y - 76.500000000003496) - 15.749999999998227*helper_1 + 729*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
705 case 11: {{const auto helper_0 = z - 1;
706const auto helper_1 = pow(helper_0, 3);
707const auto helper_2 = pow(x, 2);
708const auto helper_3 = pow(y, 2);
709const auto helper_4 = x*y;
710const auto helper_5 = pow(helper_0, 2);
711result_0 = -1.0/4.0*y*(helper_0*helper_4*(972*x + 972*y - 76.500000000004533) + helper_1*(247.4999999999954*x + 339.74999999999744*y + 42.749999999997655*z - 98.999999999999915) + 729*helper_2*helper_3 + 27*helper_5*(9*helper_2 + 11*helper_3) - helper_5*(-1219.499999999995*helper_4 + 76.500000000004718*x + 56.250000000002153*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
712const auto helper_1 = pow(helper_0, 3);
713const auto helper_2 = pow(y, 2);
714const auto helper_3 = pow(x, 2);
715const auto helper_4 = helper_0*y;
716const auto helper_5 = pow(helper_0, 2)*x;
717const auto helper_6 = x*y;
718result_0 = -1.0/4.0*(helper_1*(42.749999999997655*helper_0*x + 162*helper_2 + 123.7499999999977*helper_3 + 108*helper_4 + 679.49999999999488*helper_6 - 56.25000000000226*x - 36*y - 18*z + 18) + 729*helper_2*pow(x, 3) + helper_3*helper_4*(648*x + 1458*y - 76.500000000004533) + 81*helper_5*(11*helper_2 + helper_3) - helper_5*(-1219.499999999995*helper_6 + 38.250000000002359*x + 112.50000000000431*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
719const auto helper_1 = pow(helper_0, 4);
720const auto helper_2 = pow(y, 2);
721const auto helper_3 = pow(x, 2);
722result_0 = (1.0/4.0)*y*(pow(helper_0, 2)*x*(297*helper_2 + 81*helper_3 + 609.7499999999975*x*y - 38.250000000002359*x - 56.250000000002153*y) + helper_0*helper_3*y*(648*x + 972*y - 76.500000000004533) - helper_1*(42.749999999997655*x + 54*y - 18) + 729*helper_2*pow(x, 3))/helper_1;val.col(2) = result_0; }} break;
723 case 12: {{const auto helper_0 = z - 1;
724const auto helper_1 = pow(helper_0, 3);
725const auto helper_2 = pow(x, 2);
726const auto helper_3 = pow(y, 2);
727const auto helper_4 = pow(helper_0, 2);
728const auto helper_5 = x*y;
729result_0 = (1.0/4.0)*y*(helper_0*helper_5*(1215*x + 972*y + 76.499999999994998) + helper_1*(724.499999999995*x + 551.24999999999727*y + 254.24999999999736*z - 197.99999999999983) + 729*helper_2*helper_3 + 486*helper_2*helper_4 + 297*helper_3*helper_4 + helper_4*(1696.4999999999945*helper_5 + 76.499999999994756*x + 56.24999999999762*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
730const auto helper_1 = pow(helper_0, 3);
731const auto helper_2 = pow(x, 3);
732const auto helper_3 = pow(y, 2);
733const auto helper_4 = pow(helper_0, 2);
734const auto helper_5 = helper_4*x;
735const auto helper_6 = pow(x, 2);
736const auto helper_7 = helper_0*y;
737const auto helper_8 = x*y;
738result_0 = (1.0/4.0)*(helper_1*(254.24999999999736*helper_0*x + 162*helper_3 + 54*helper_4 + 362.2499999999975*helper_6 + 216*helper_7 + 1102.4999999999945*helper_8 + 56.24999999999752*x + 36*y + 18*z - 18) + 729*helper_2*helper_3 + 162*helper_2*helper_4 + 891*helper_3*helper_5 + helper_5*(1696.4999999999945*helper_8 + 38.249999999997378*x + 112.49999999999524*y) + helper_6*helper_7*(810*x + 1458*y + 76.499999999994998))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
739const auto helper_1 = pow(helper_0, 4);
740const auto helper_2 = pow(y, 2);
741const auto helper_3 = pow(x, 2);
742result_0 = -1.0/4.0*y*(pow(helper_0, 2)*x*(297*helper_2 + 162*helper_3 + 848.24999999999727*x*y + 38.249999999997378*x + 56.24999999999762*y) + helper_0*helper_3*y*(810*x + 972*y + 76.499999999994998) - helper_1*(254.24999999999736*x + 108*y + 108*z - 90) + 729*helper_2*pow(x, 3))/helper_1;val.col(2) = result_0; }} break;
743 case 13: {{const auto helper_0 = z - 1;
744const auto helper_1 = pow(helper_0, 2);
745const auto helper_2 = pow(y, 2);
746const auto helper_3 = helper_0*y;
747const auto helper_4 = 197.99999999999909*x;
748const auto helper_5 = 54*x;
749result_0 = (1.0/2.0)*(helper_1*(helper_0*helper_5 + 54*helper_1 + 98.999999999999574*helper_2 + 152.99999999999952*helper_3 + helper_4*y + helper_5 + 161.99999999999955*y + 63*z - 54) + 143.99999999999912*helper_2*x + helper_3*(helper_4 + 143.99999999999909*x*y + 98.999999999999545*y) + 9*helper_3)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
750const auto helper_1 = pow(helper_0, 2);
751const auto helper_2 = pow(x, 2);
752const auto helper_3 = helper_0*x;
753const auto helper_4 = x*y;
754const auto helper_5 = 54*y;
755result_0 = (1.0/2.0)*(helper_1*(helper_0*helper_5 + 54*helper_1 + 98.999999999999545*helper_2 + 152.99999999999952*helper_3 + 197.99999999999915*helper_4 + helper_5 + 161.99999999999955*x + 63*z - 54) + 143.99999999999912*helper_2*y + helper_3*(143.99999999999909*helper_4 + 98.999999999999545*x + 197.99999999999909*y) + 9*helper_3)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
756const auto helper_1 = pow(helper_0, 3);
757const auto helper_2 = pow(x, 2);
758const auto helper_3 = pow(y, 2);
759const auto helper_4 = x*y;
760const auto helper_5 = 108*helper_0;
761result_0 = -1.0/2.0*(helper_0*helper_4*(71.999999999999545*helper_4 + 98.999999999999545*x + 98.999999999999545*y + 9) - helper_1*(81*pow(helper_0, 2) + 27*helper_2 + 27*helper_3 + 152.99999999999952*helper_4 + helper_5*x + helper_5*y + 63*x + 63*y + 72*z - 63) + 143.99999999999912*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
762 case 14: {{const auto helper_0 = z - 1;
763const auto helper_1 = pow(helper_0, 2);
764const auto helper_2 = pow(y, 2);
765const auto helper_3 = 71.999999999999517*x*y;
766const auto helper_4 = helper_0*y;
767result_0 = -1.0/2.0*(helper_1*(27*helper_1 + 35.999999999999773*helper_2 + helper_3 + 62.999999999999744*helper_4 + 80.999999999999773*y + 45*z - 27) + 71.999999999999531*helper_2*x + helper_4*(helper_3 + 71.999999999999503*x + 35.999999999999773*y + 18))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
768const auto helper_1 = pow(helper_0, 2);
769const auto helper_2 = pow(x, 2);
770const auto helper_3 = 71.999999999999545*y;
771const auto helper_4 = helper_0*x;
772result_0 = -1.0/2.0*(helper_1*(27*helper_1 + 35.999999999999758*helper_2 + helper_3*x + 62.999999999999744*helper_4 + 80.999999999999773*x + 45*z - 27) + 71.999999999999531*helper_2*y + helper_4*(helper_3 + 71.999999999999517*x*y + 35.999999999999751*x + 18))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
773const auto helper_1 = pow(helper_0, 3);
774const auto helper_2 = x*y;
775const auto helper_3 = 54*helper_0;
776result_0 = (1.0/2.0)*(helper_0*helper_2*(35.999999999999758*helper_2 + 35.999999999999751*x + 35.999999999999773*y + 18) - helper_1*(81*pow(helper_0, 2) + 62.999999999999744*helper_2 + helper_3*x + helper_3*y + 45*x + 45*y + 90*z - 72) + 71.999999999999531*pow(x, 2)*pow(y, 2))/helper_1;val.col(2) = result_0; }} break;
777 case 15: {{const auto helper_0 = z - 1;
778const auto helper_1 = pow(helper_0, 2);
779const auto helper_2 = pow(y, 2);
780const auto helper_3 = helper_0*y;
781const auto helper_4 = x*y;
782const auto helper_5 = 54*x;
783result_0 = (1.0/2.0)*(helper_1*(helper_0*helper_5 + 45.000000000000064*helper_2 + 45.00000000000005*helper_3 + 198.00000000000009*helper_4 + helper_5 + 36.000000000000043*y - 9*z) + 144.00000000000009*helper_2*x + helper_3*(144.00000000000009*helper_4 + 198.00000000000006*x + 45.000000000000043*y) - 9*helper_3)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
784const auto helper_1 = pow(helper_0, 2);
785const auto helper_2 = x*y;
786result_0 = (1.0/2.0)*x*(2*helper_0*(72.000000000000043*helper_2 + 49.500000000000014*x + 45.000000000000043*y) + helper_1*(99.000000000000043*x + 90.000000000000128*y + 45.00000000000005*z - 9.0000000000000071) + 144.00000000000009*helper_2 - 9*z + 9)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
787const auto helper_1 = pow(helper_0, 3);
788result_0 = -1.0/2.0*x*(helper_0*y*(72.000000000000043*x*y + 99.000000000000028*x + 45.000000000000043*y - 9) - helper_1*(27*x + 45.00000000000005*y - 9) + 144.00000000000009*x*pow(y, 2))/helper_1;val.col(2) = result_0; }} break;
789 case 16: {{const auto helper_0 = z - 1;
790const auto helper_1 = pow(helper_0, 2);
791const auto helper_2 = pow(y, 2);
792const auto helper_3 = 72.000000000000128*x;
793const auto helper_4 = helper_3*y;
794const auto helper_5 = helper_0*y;
795result_0 = -1.0/2.0*(helper_1*(-27*helper_1 + 36.000000000000071*helper_2 + helper_4 + 9.0000000000000639*helper_5 - 8.9999999999999378*y - 45*z + 27) + 72.000000000000142*helper_2*x + helper_5*(helper_3 + helper_4 + 36.000000000000064*y - 18))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
796const auto helper_1 = pow(helper_0, 2);
797const auto helper_2 = 36.000000000000071*y;
798const auto helper_3 = 18.000000000000032*x;
799const auto helper_4 = 36.000000000000064*y;
800result_0 = -x*(helper_0*(helper_3 + helper_4*x + helper_4 - 9) + helper_1*(helper_2 + helper_3 + 4.500000000000032*z - 9.0) + helper_2*x)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
801const auto helper_1 = pow(helper_0, 3);
802const auto helper_2 = 36.000000000000064*x;
803result_0 = (1.0/2.0)*x*(helper_0*y*(helper_2*y + helper_2 + 36.000000000000064*y - 18) - helper_1*(9.0000000000000639*y - 54*z + 9) + 72.000000000000142*x*pow(y, 2))/helper_1;val.col(2) = result_0; }} break;
804 case 17: {{const auto helper_0 = z - 1;
805const auto helper_1 = pow(helper_0, 2);
806const auto helper_2 = x*y;
807result_0 = (1.0/2.0)*y*(2*helper_0*(71.999999999999986*helper_2 + 44.999999999999986*x + 22.499999999999993*y) + helper_1*(89.999999999999972*x + 45.000000000000007*y + 44.999999999999993*z + 8.9999999999999858) + 143.99999999999994*helper_2 + 9*z - 9)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
808const auto helper_1 = pow(helper_0, 2);
809const auto helper_2 = x*y;
810result_0 = (1.0/2.0)*x*(2*helper_0*(71.999999999999986*helper_2 + 22.499999999999993*x + 44.999999999999986*y) + helper_1*(44.999999999999986*x + 90.000000000000014*y + 44.999999999999993*z + 8.9999999999999858) + 143.99999999999994*helper_2 + 9*z - 9)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
811const auto helper_1 = pow(helper_0, 3);
812const auto helper_2 = x*y;
813result_0 = -1.0/2.0*helper_2*(helper_0*(71.999999999999986*helper_2 + 44.999999999999986*x + 44.999999999999986*y + 9) - 44.999999999999993*helper_1 + 143.99999999999994*helper_2)/helper_1;val.col(2) = result_0; }} break;
814 case 18: {{const auto helper_0 = z - 1;
815const auto helper_1 = pow(helper_0, 2);
816const auto helper_2 = 35.999999999999993*x;
817result_0 = -y*(helper_0*(helper_2*y + helper_2 + 17.999999999999996*y + 9) + helper_1*(helper_2 + 18.0*y + 31.499999999999986*z + 9.0000000000000142) + 35.999999999999986*x*y)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
818const auto helper_1 = pow(helper_0, 2);
819const auto helper_2 = 17.999999999999996*x;
820const auto helper_3 = 35.999999999999993*y;
821result_0 = -x*(helper_0*(helper_2 + helper_3*x + helper_3 + 9) + helper_1*(helper_2 + 36.0*y + 31.499999999999986*z + 9.0000000000000142) + 35.999999999999986*x*y)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
822const auto helper_1 = pow(helper_0, 3);
823const auto helper_2 = x*y;
824const auto helper_3 = 17.999999999999996*x;
825result_0 = helper_2*(helper_0*(helper_3*y + helper_3 + 17.999999999999996*y + 9) - 31.499999999999986*helper_1 + 35.999999999999986*helper_2)/helper_1;val.col(2) = result_0; }} break;
826 case 19: {{const auto helper_0 = z - 1;
827const auto helper_1 = pow(helper_0, 2);
828const auto helper_2 = x*y;
829result_0 = (1.0/2.0)*y*(2*helper_0*(71.999999999999972*helper_2 + 44.99999999999995*x + 49.499999999999972*y) + helper_1*(89.999999999999929*x + 98.999999999999986*y + 44.999999999999943*z - 8.9999999999999787) + 143.99999999999991*helper_2 - 9*z + 9)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
830const auto helper_1 = pow(helper_0, 2);
831const auto helper_2 = pow(x, 2);
832const auto helper_3 = helper_0*x;
833const auto helper_4 = x*y;
834const auto helper_5 = 54*y;
835result_0 = (1.0/2.0)*(helper_1*(helper_0*helper_5 + 44.999999999999964*helper_2 + 44.999999999999943*helper_3 + 197.99999999999997*helper_4 + helper_5 + 35.999999999999964*x - 9*z) + 143.99999999999991*helper_2*y + helper_3*(143.99999999999994*helper_4 + 44.99999999999995*x + 197.99999999999989*y) - 9*helper_3)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
836const auto helper_1 = pow(helper_0, 3);
837result_0 = -1.0/2.0*y*(helper_0*x*(71.999999999999972*x*y + 44.99999999999995*x + 98.999999999999943*y - 9) - helper_1*(44.999999999999943*x + 27*y - 9) + 143.99999999999991*pow(x, 2)*y)/helper_1;val.col(2) = result_0; }} break;
838 case 20: {{const auto helper_0 = z - 1;
839const auto helper_1 = pow(helper_0, 2);
840const auto helper_2 = 36.000000000000064*x;
841result_0 = -y*(helper_0*(helper_2*y + helper_2 + 18.000000000000032*y - 9) + helper_1*(helper_2 + 18.000000000000036*y + 4.500000000000032*z - 9.0) + 36.000000000000071*x*y)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
842const auto helper_1 = pow(helper_0, 2);
843const auto helper_2 = pow(x, 2);
844const auto helper_3 = 72.000000000000142*y;
845const auto helper_4 = 72.000000000000128*y;
846const auto helper_5 = helper_0*x;
847result_0 = -1.0/2.0*(helper_1*(-27*helper_1 + 36.000000000000064*helper_2 + helper_3*x + 9.0000000000000639*helper_5 - 8.9999999999999378*x - 45*z + 27) + helper_2*helper_3 + helper_5*(helper_4*x + helper_4 + 36.000000000000064*x - 18))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
848const auto helper_1 = pow(helper_0, 3);
849const auto helper_2 = 36.000000000000064*x;
850result_0 = (1.0/2.0)*y*(helper_0*x*(helper_2*y + helper_2 + 36.000000000000064*y - 18) - helper_1*(9.0000000000000639*x - 54*z + 9) + 72.000000000000142*pow(x, 2)*y)/helper_1;val.col(2) = result_0; }} break;
851 case 21: {{const auto helper_0 = z - 1;
852const auto helper_1 = pow(helper_0, 2);
853const auto helper_2 = pow(y, 2);
854const auto helper_3 = 107.9999999999999*x;
855const auto helper_4 = 161.99999999999991*x;
856const auto helper_5 = helper_0*y;
857const auto helper_6 = 54*x;
858result_0 = -(helper_1*(helper_0*helper_6 + 27*helper_1 + 53.999999999999964*helper_2 + helper_4*y + 80.999999999999929*helper_5 + helper_6 + 80.999999999999957*y + 27*z - 27) + helper_2*helper_3 + helper_5*(helper_3*y + helper_4 + 53.999999999999943*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
859const auto helper_1 = pow(helper_0, 2);
860const auto helper_2 = 107.9999999999999*x*y;
861const auto helper_3 = 80.999999999999957*x;
862result_0 = -x*(helper_0*(helper_2 + helper_3 + 107.99999999999989*y) + helper_1*(helper_3 + 107.99999999999993*y + 80.999999999999929*z + 2.8421709430404007e-14) + helper_2)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
863const auto helper_1 = pow(helper_0, 3);
864result_0 = x*(helper_0*y*(53.99999999999995*x*y + 80.999999999999957*x + 53.999999999999943*y) - helper_1*(27*x + 80.999999999999929*y + 54*z - 27) + 107.9999999999999*x*pow(y, 2))/helper_1;val.col(2) = result_0; }} break;
865 case 22: {{const auto helper_0 = z - 1;
866const auto helper_1 = pow(helper_0, 2);
867const auto helper_2 = 108.00000000000006*x;
868result_0 = -y*(helper_0*(108.00000000000007*x*y + 108.00000000000004*x + 27.000000000000032*y) + helper_1*(helper_2 + 27.000000000000025*y + 27.000000000000025*z) + helper_2*y)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
869const auto helper_1 = pow(helper_0, 2);
870const auto helper_2 = x*y;
871result_0 = -x*(helper_0*(108.00000000000007*helper_2 + 54.000000000000021*x + 54.000000000000064*y) + helper_1*(54.000000000000028*x + 54.00000000000005*y + 27.000000000000025*z) + 108.00000000000006*helper_2)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
872const auto helper_1 = pow(helper_0, 3);
873const auto helper_2 = x*y;
874result_0 = helper_2*(helper_0*(54.000000000000036*helper_2 + 54.000000000000021*x + 27.000000000000032*y) - 27.000000000000025*helper_1 + 108.00000000000006*helper_2)/helper_1;val.col(2) = result_0; }} break;
875 case 23: {{const auto helper_0 = z - 1;
876const auto helper_1 = pow(helper_0, 2);
877const auto helper_2 = x*y;
878const auto helper_3 = 53.999999999999986*x + 54.0*y;
879result_0 = -y*(helper_0*(107.99999999999997*helper_2 + helper_3) + helper_1*(helper_3 + 26.999999999999986*z + 3.5527136788005009e-15) + 108.0*helper_2)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
880const auto helper_1 = pow(helper_0, 2);
881const auto helper_2 = 108.0*y;
882const auto helper_3 = helper_2 + 26.999999999999993*x;
883result_0 = -x*(helper_0*(helper_3 + 107.99999999999997*x*y) + helper_1*(helper_3 + 26.999999999999986*z + 3.5527136788005009e-15) + helper_2*x)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
884const auto helper_1 = pow(helper_0, 3);
885const auto helper_2 = x*y;
886result_0 = helper_2*(helper_0*(53.999999999999986*helper_2 + 26.999999999999993*x + 54.0*y) - 26.999999999999986*helper_1 + 108.0*helper_2)/helper_1;val.col(2) = result_0; }} break;
887 case 24: {{const auto helper_0 = z - 1;
888const auto helper_1 = pow(helper_0, 2);
889const auto helper_2 = 107.9999999999998*x;
890result_0 = -y*(helper_0*(helper_2 + 107.99999999999982*x*y + 80.999999999999886*y) + helper_1*(helper_2 + 80.999999999999915*y + 80.999999999999886*z + 1.4210854715202004e-14) + helper_2*y)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
891const auto helper_1 = pow(helper_0, 2);
892const auto helper_2 = pow(x, 2);
893const auto helper_3 = x*y;
894const auto helper_4 = helper_0*x;
895const auto helper_5 = 54*y;
896result_0 = -(helper_1*(helper_0*helper_5 + 27*helper_1 + 53.999999999999901*helper_2 + 161.99999999999983*helper_3 + 80.999999999999886*helper_4 + helper_5 + 80.999999999999901*x + 27*z - 27) + 107.9999999999998*helper_2*y + helper_4*(107.99999999999982*helper_3 + 53.999999999999901*x + 161.99999999999977*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
897const auto helper_1 = pow(helper_0, 3);
898result_0 = y*(helper_0*x*(53.999999999999908*x*y + 53.999999999999901*x + 80.999999999999886*y) - helper_1*(80.999999999999886*x + 27*y + 54*z - 27) + 107.9999999999998*pow(x, 2)*y)/helper_1;val.col(2) = result_0; }} break;
899 case 25: {{const auto helper_0 = z - 1;
900const auto helper_1 = pow(helper_0, 3);
901const auto helper_2 = pow(x, 2);
902const auto helper_3 = pow(y, 2);
903const auto helper_4 = x*y;
904const auto helper_5 = pow(helper_0, 2);
905result_0 = -1.0/4.0*y*(helper_0*helper_4*(3645*x + 2430*y + 40.499999999988418) + helper_1*(1660.4999999999884*x + 830.24999999999329*y + 344.24999999999386*z - 323.99999999999955) + 2187*helper_2*helper_3 + 486*helper_5*(3*helper_2 + helper_3) + helper_5*(4090.4999999999873*helper_4 + 40.499999999987992*x + 20.249999999994483*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
906const auto helper_1 = pow(helper_0, 3);
907const auto helper_2 = pow(x, 2);
908const auto helper_3 = pow(y, 2);
909const auto helper_4 = x*y;
910const auto helper_5 = pow(helper_0, 2);
911result_0 = -1.0/4.0*x*(helper_0*helper_4*(2430*x + 3645*y + 40.499999999988418) + helper_1*(830.2499999999942*x + 1660.4999999999866*y + 344.24999999999386*z - 323.99999999999955) + 2187*helper_2*helper_3 + 486*helper_5*(helper_2 + 3*helper_3) + helper_5*(4090.4999999999873*helper_4 + 20.249999999993996*x + 40.499999999988965*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
912const auto helper_1 = pow(helper_0, 4);
913const auto helper_2 = pow(x, 2);
914const auto helper_3 = pow(y, 2);
915const auto helper_4 = x*y;
916result_0 = (1.0/4.0)*helper_4*(pow(helper_0, 2)*(486*helper_2 + 486*helper_3 + 2045.2499999999936*helper_4 + 20.249999999993996*x + 20.249999999994483*y) + helper_0*helper_4*(2430*x + 2430*y + 40.499999999988418) - 344.24999999999386*helper_1 + 2187*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
917 case 26: {{const auto helper_0 = z - 1;
918const auto helper_1 = pow(helper_0, 3);
919const auto helper_2 = pow(x, 2);
920const auto helper_3 = pow(y, 2);
921const auto helper_4 = pow(helper_0, 2);
922const auto helper_5 = x*y;
923result_0 = (1.0/4.0)*y*(helper_0*helper_5*(2916*x + 2430*y - 40.500000000010814) + helper_1*(769.49999999998886*x + 627.74999999999386*y + 141.74999999999432*z - 161.99999999999972) + 2187*helper_2*helper_3 + 729*helper_2*helper_4 + 486*helper_3*helper_4 - helper_4*(-3199.4999999999886*helper_5 + 40.500000000011227*x + 20.25000000000513*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
924const auto helper_1 = pow(helper_0, 3);
925const auto helper_2 = pow(x, 2);
926const auto helper_3 = pow(y, 2);
927const auto helper_4 = pow(helper_0, 2);
928const auto helper_5 = x*y;
929result_0 = (1.0/4.0)*x*(helper_0*helper_5*(1944*x + 3645*y - 40.500000000010814) + helper_1*(384.74999999999443*x + 1255.4999999999877*y + 141.74999999999432*z - 161.99999999999972) + 2187*helper_2*helper_3 + 243*helper_2*helper_4 + 1458*helper_3*helper_4 - helper_4*(-3199.4999999999886*helper_5 + 20.250000000005613*x + 40.50000000001026*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
930const auto helper_1 = pow(helper_0, 4);
931const auto helper_2 = pow(x, 2);
932const auto helper_3 = pow(y, 2);
933const auto helper_4 = x*y;
934result_0 = -1.0/4.0*helper_4*(pow(helper_0, 2)*(243*helper_2 + 486*helper_3 + 1599.7499999999943*helper_4 - 20.250000000005613*x - 20.25000000000513*y) + helper_0*helper_4*(1944*x + 2430*y - 40.500000000010814) - 141.74999999999432*helper_1 + 2187*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
935 case 27: {{const auto helper_0 = z - 1;
936const auto helper_1 = pow(helper_0, 3);
937const auto helper_2 = pow(x, 2);
938const auto helper_3 = pow(y, 2);
939const auto helper_4 = pow(helper_0, 2);
940const auto helper_5 = x*y;
941result_0 = (1.0/4.0)*y*(helper_0*helper_5*(3645*x + 1944*y - 40.500000000009159) + helper_1*(1255.4999999999907*x + 384.74999999999449*y + 141.74999999999511*z - 161.99999999999963) + 2187*helper_2*helper_3 + 1458*helper_2*helper_4 + 243*helper_3*helper_4 - helper_4*(-3199.4999999999895*helper_5 + 40.500000000009393*x + 20.250000000004395*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
942const auto helper_1 = pow(helper_0, 3);
943const auto helper_2 = pow(x, 2);
944const auto helper_3 = pow(y, 2);
945const auto helper_4 = pow(helper_0, 2);
946const auto helper_5 = x*y;
947result_0 = (1.0/4.0)*x*(helper_0*helper_5*(2430*x + 2916*y - 40.500000000009159) + helper_1*(627.74999999999534*x + 769.49999999998897*y + 141.74999999999511*z - 161.99999999999963) + 2187*helper_2*helper_3 + 486*helper_2*helper_4 + 729*helper_3*helper_4 - helper_4*(-3199.4999999999895*helper_5 + 20.250000000004697*x + 40.500000000008789*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
948const auto helper_1 = pow(helper_0, 4);
949const auto helper_2 = pow(x, 2);
950const auto helper_3 = pow(y, 2);
951const auto helper_4 = x*y;
952result_0 = -1.0/4.0*helper_4*(pow(helper_0, 2)*(486*helper_2 + 243*helper_3 + 1599.7499999999948*helper_4 - 20.250000000004697*x - 20.250000000004395*y) + helper_0*helper_4*(2430*x + 1944*y - 40.500000000009159) - 141.74999999999511*helper_1 + 2187*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
953 case 28: {{const auto helper_0 = z - 1;
954const auto helper_1 = pow(helper_0, 3);
955const auto helper_2 = pow(x, 2);
956const auto helper_3 = pow(y, 2);
957const auto helper_4 = x*y;
958const auto helper_5 = pow(helper_0, 2);
959result_0 = -1.0/4.0*y*(helper_0*helper_4*(2916*x + 1944*y + 40.499999999991438) + helper_1*(688.49999999999102*x + 344.24999999999494*y + 101.24999999999541*z - 80.999999999999716) + 2187*helper_2*helper_3 + 243*helper_5*(3*helper_2 + helper_3) + helper_5*(2632.4999999999909*helper_4 + 40.499999999991147*x + 20.24999999999589*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
960const auto helper_1 = pow(helper_0, 3);
961const auto helper_2 = pow(x, 2);
962const auto helper_3 = pow(y, 2);
963const auto helper_4 = x*y;
964const auto helper_5 = pow(helper_0, 2);
965result_0 = -1.0/4.0*x*(helper_0*helper_4*(1944*x + 2916*y + 40.499999999991438) + helper_1*(344.24999999999551*x + 688.49999999998988*y + 101.24999999999541*z - 80.999999999999716) + 2187*helper_2*helper_3 + 243*helper_5*(helper_2 + 3*helper_3) + helper_5*(2632.4999999999909*helper_4 + 20.249999999995573*x + 40.499999999991779*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
966const auto helper_1 = pow(helper_0, 4);
967const auto helper_2 = pow(x, 2);
968const auto helper_3 = pow(y, 2);
969const auto helper_4 = x*y;
970result_0 = (1.0/4.0)*helper_4*(pow(helper_0, 2)*(243*helper_2 + 243*helper_3 + 1316.2499999999955*helper_4 + 20.249999999995573*x + 20.24999999999589*y) + helper_0*helper_4*(1944*x + 1944*y + 40.499999999991438) - 101.24999999999541*helper_1 + 2187*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
971 case 29: {{const auto helper_0 = z - 1;
972const auto helper_1 = pow(helper_0, 2);
973const auto helper_2 = 256.00000000000011*x;
974const auto helper_3 = helper_2*y;
975result_0 = y*(helper_0*(helper_2 + helper_3 + 128.00000000000006*y) + helper_1*(helper_2 + 128.00000000000009*y + 128.00000000000003*z + 2.8421709430404007e-14) + helper_3)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
976const auto helper_1 = pow(helper_0, 2);
977const auto helper_2 = 256.00000000000011*y;
978const auto helper_3 = helper_2*x;
979const auto helper_4 = 128.00000000000006*x;
980result_0 = x*(helper_0*(helper_2 + helper_3 + helper_4) + helper_1*(helper_4 + 256.00000000000017*y + 128.00000000000003*z + 2.8421709430404007e-14) + helper_3)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
981const auto helper_1 = pow(helper_0, 3);
982const auto helper_2 = x*y;
983result_0 = -helper_2*(128.00000000000006*helper_0*(helper_2 + x + y) - 128.00000000000003*helper_1 + 256.00000000000011*helper_2)/helper_1;val.col(2) = result_0; }} break;
984 default: assert(false);
985}}
986
987
988void pyramid_3_nodes_3d(Eigen::MatrixXd &res) {
989 res.resize(30, 3); res <<
9900, 0, 0,
9911, 0, 0,
9921, 1, 0,
9930, 1, 0,
9940, 0, 1,
9951.0/3.0, 0, 0,
9962.0/3.0, 0, 0,
9971, 1.0/3.0, 0,
9981, 2.0/3.0, 0,
9992.0/3.0, 1, 0,
10001.0/3.0, 1, 0,
10010, 2.0/3.0, 0,
10020, 1.0/3.0, 0,
10030, 0, 1.0/3.0,
10040, 0, 2.0/3.0,
10052.0/3.0, 0, 1.0/3.0,
10061.0/3.0, 0, 2.0/3.0,
10072.0/3.0, 2.0/3.0, 1.0/3.0,
10081.0/3.0, 1.0/3.0, 2.0/3.0,
10090, 2.0/3.0, 1.0/3.0,
10100, 1.0/3.0, 2.0/3.0,
10111.0/3.0, 0, 1.0/3.0,
10122.0/3.0, 1.0/3.0, 1.0/3.0,
10131.0/3.0, 2.0/3.0, 1.0/3.0,
10140, 1.0/3.0, 1.0/3.0,
10151.0/3.0, 1.0/3.0, 0,
10161.0/3.0, 2.0/3.0, 0,
10172.0/3.0, 1.0/3.0, 0,
10182.0/3.0, 2.0/3.0, 0,
10190.25, 0.25, 1.0/2.0;
1020}
1021
1022
1023void pyramid_4_basis_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0){
1024
1025auto x=uv.col(0).array();
1026auto y=uv.col(1).array();
1027auto z=uv.col(2).array();
1028
1029switch(local_index){
1030 case 0: {const auto helper_0 = z - 1;
1031const auto helper_1 = pow(helper_0, 4);
1032const auto helper_2 = pow(x, 4);
1033const auto helper_3 = pow(y, 4);
1034const auto helper_4 = pow(x, 3);
1035const auto helper_5 = pow(y, 3);
1036const auto helper_6 = pow(helper_0, 3);
1037const auto helper_7 = x*y;
1038const auto helper_8 = helper_6*helper_7;
1039const auto helper_9 = pow(helper_0, 2);
1040const auto helper_10 = pow(x, 2);
1041const auto helper_11 = pow(y, 2);
1042const auto helper_12 = helper_10*helper_11;
1043const auto helper_13 = helper_11*x;
1044const auto helper_14 = helper_10*y;
1045const auto helper_15 = 132*helper_0;
1046const auto helper_16 = 432*helper_9;
1047const auto helper_17 = 384*helper_6;
1048const auto helper_18 = 432*helper_0;
1049const auto helper_19 = 384*helper_0;
1050const auto helper_20 = 576*helper_9;
1051result_0 = (1.0/9.0)*(helper_0*helper_4*helper_5*(2560*x + 2560*y + 868.06249999916861) + helper_1*(3853.8566743821189*helper_0*helper_13 + 3853.8566743821293*helper_0*helper_14 + 1889.4692001026508*helper_0*helper_7 + 96*helper_1 + helper_10*helper_18 + helper_10*helper_20 + 66*helper_10 + helper_11*helper_18 + helper_11*helper_20 + 66*helper_11 + 8273.9261188253458*helper_12 + 2369.4761445467752*helper_13 + 2369.4761445467097*helper_14 + helper_15*x + helper_15*y + helper_16*x + helper_16*y + helper_17*x + helper_17*y + helper_19*helper_4 + helper_19*helper_5 + 96*helper_2 + 96*helper_3 + 2912.0069444440387*helper_4*y + 144*helper_4 + 2912.0069444440232*helper_5*x + 144*helper_5 + 144*helper_6 + 2125.8497299380892*helper_7*helper_9 + 397.61947016461062*helper_7 + 66*helper_9 + 9*x + 9*y + 9*z - 9) + helper_12*helper_9*(2240*helper_10 + 2240*helper_11 + 7268.0624999991669*helper_7 + 1636.069444443209*x + 1636.0694444432272*y + 199.61947016460326) + 1024*helper_2*helper_3 + 800*helper_8*(helper_4 + helper_5) + helper_8*(912.00694444404007*helper_10 + 912.00694444402552*helper_11 + 7236.0694444432211*helper_13 + 7236.0694444432065*helper_14 + 3573.5455889899499*helper_7 + 265.61947016460903*x + 265.61947016463466*y + 9))/helper_1;} break;
1052 case 1: {const auto helper_0 = z - 1;
1053const auto helper_1 = pow(helper_0, 4);
1054const auto helper_2 = pow(x, 3);
1055const auto helper_3 = pow(y, 4);
1056const auto helper_4 = pow(helper_0, 3);
1057const auto helper_5 = helper_4*y;
1058const auto helper_6 = pow(x, 2);
1059const auto helper_7 = pow(y, 3);
1060const auto helper_8 = pow(helper_0, 2);
1061const auto helper_9 = x*y;
1062const auto helper_10 = pow(y, 2);
1063const auto helper_11 = helper_10*x;
1064const auto helper_12 = helper_6*y;
1065const auto helper_13 = helper_0*y;
1066result_0 = (1.0/9.0)*x*(helper_0*helper_6*helper_7*(2560*x + 1536*y - 868.06250000058185) + helper_1*(-54.212770062057935*helper_0*helper_10 - 130.59329989745899*helper_10 + 5.7177854926335687*helper_11 + 287.99305555525899*helper_12 - 82.164158951031695*helper_13*x + 113.46225565830014*helper_13 + 96*helper_2 - 144*helper_6 - 4.0555555557750109*helper_7 + 45.842785493706288*helper_8*y - 366.54468878645605*helper_9 + 66*x + 133.61947016460527*y - 9) + helper_11*helper_8*(704*helper_10 + 2240*helper_6 + 2971.9374999994166*helper_9 - 1636.0694444453216*x - 968.11805555632634*y + 199.61947016461488) + 1024*helper_2*helper_3 + 800*helper_2*helper_5 + 96*helper_3*helper_4 + helper_5*(-244.05555555577564*helper_10 + 791.88194444367821*helper_11 + 1723.9305555546744*helper_12 - 912.00694444473902*helper_6 - 1334.6627443427574*helper_9 + 265.61947016455952*x + 133.61947016455039*y - 9))/helper_1;} break;
1067 case 2: {const auto helper_0 = z - 1;
1068const auto helper_1 = pow(helper_0, 4);
1069const auto helper_2 = pow(x, 3);
1070const auto helper_3 = pow(y, 3);
1071const auto helper_4 = pow(helper_0, 3);
1072const auto helper_5 = pow(x, 2);
1073const auto helper_6 = pow(y, 2);
1074const auto helper_7 = pow(helper_0, 2);
1075const auto helper_8 = x*y;
1076result_0 = (1.0/9.0)*helper_8*(helper_0*helper_5*helper_6*(1536*x + 1536*y + 868.06249999974989) + helper_1*(533.9538966047362*helper_0*x + 533.95389660472426*helper_0*y + 388.05555555543361*helper_5 + 388.05555555542168*helper_6 + 241.89834104930071*helper_7 + 1854.0719521599149*helper_8 + 601.57336676932459*x + 601.57336676933107*y + 357.51781121387643*z - 223.89834104928431) + 1024*helper_2*helper_3 + 96*helper_4*(helper_2 + helper_3) + helper_4*(2024.1180555551814*helper_5*y + 244.05555555543421*helper_5 + 2024.1180555551894*helper_6*x + 244.05555555542446*helper_6 + 1569.6914223245094*helper_8 + 133.61947016458834*x + 133.61947016459976*y + 9) + helper_7*helper_8*(704*helper_5 + 704*helper_6 + 3172.0624999997481*helper_8 + 968.11805555518436*x + 968.11805555518902*y + 199.61947016459354))/helper_1;} break;
1077 case 3: {const auto helper_0 = z - 1;
1078const auto helper_1 = pow(helper_0, 4);
1079const auto helper_2 = pow(x, 4);
1080const auto helper_3 = pow(y, 3);
1081const auto helper_4 = pow(helper_0, 3);
1082const auto helper_5 = helper_4*x;
1083const auto helper_6 = pow(x, 3);
1084const auto helper_7 = pow(y, 2);
1085const auto helper_8 = pow(helper_0, 2);
1086const auto helper_9 = x*y;
1087const auto helper_10 = pow(x, 2);
1088const auto helper_11 = helper_10*y;
1089const auto helper_12 = helper_7*x;
1090result_0 = (1.0/9.0)*y*(helper_0*helper_6*helper_7*(1536*x + 2560*y - 868.06250000020805) - helper_1*(54.212770061856766*helper_0*helper_10 + 82.164158950791247*helper_0*helper_9 - 113.46225565834264*helper_0*x + 130.59329989727746*helper_10 - 5.7177854933829559*helper_11 - 287.99305555544095*helper_12 - 96*helper_3 + 4.0555555556234886*helper_6 + 144*helper_7 - 45.842785493765184*helper_8*x + 366.54468878620833*helper_9 - 133.61947016459851*x - 66*y + 9) + helper_11*helper_8*(704*helper_10 + 2240*helper_7 + 2971.9374999997899*helper_9 - 968.11805555583157*x - 1636.0694444447479*y + 199.61947016459683) + 1024*helper_2*helper_3 + 96*helper_2*helper_4 + 800*helper_3*helper_5 + helper_5*(-244.05555555562299*helper_10 + 791.88194444416627*helper_11 + 1723.9305555552526*helper_12 - 912.00694444455678*helper_7 - 1334.6627443420161*helper_9 + 133.61947016456989*x + 265.61947016456918*y - 9))/helper_1;} break;
1091 case 4: {const auto helper_0 = z - 1;
1092const auto helper_1 = pow(helper_0, 3);
1093const auto helper_2 = pow(x, 3);
1094const auto helper_3 = pow(y, 3);
1095const auto helper_4 = x*y;
1096const auto helper_5 = pow(x, 2);
1097const auto helper_6 = pow(y, 2);
1098const auto helper_7 = helper_5*helper_6;
1099const auto helper_8 = helper_6*x;
1100const auto helper_9 = helper_5*y;
1101const auto helper_10 = pow(helper_0, 2);
1102const auto helper_11 = helper_10*helper_4;
1103result_0 = (1.0/3.0)*(helper_0*helper_7*(7.8213085641508323e-14*helper_4 + 3.0343522488245285e-13*x - 1.4465477417854927e-13*y + 61.770833333328241) + helper_1*(32*pow(helper_0, 4) + 167.0833333333207*helper_0*helper_4 + 105.3124999999923*helper_0*helper_8 + 105.3124999999927*helper_0*helper_9 + 80*helper_1 + 70*helper_10 + 105.3124999999925*helper_11 + 2.2522213924094442e-13*helper_2*y - 2.2286785982005757e-13*helper_3*x + 61.77083333332844*helper_4 + 105.31249999999255*helper_7 + 167.08333333332052*helper_8 + 167.08333333332109*helper_9 + 25*z - 22) + helper_11*(167.08333333332081*helper_4 + 2.2522213924094442e-13*helper_5 - 2.2286785982005757e-13*helper_6 - 1.4465477417854945e-13*helper_8 + 3.034352248824528e-13*helper_9 + 61.770833333328348*x + 61.770833333328312*y) + 7.8213085641508285e-14*helper_2*helper_3)/helper_1;} break;
1104 case 5: {const auto helper_0 = z - 1;
1105const auto helper_1 = pow(helper_0, 4);
1106const auto helper_2 = pow(x, 3);
1107const auto helper_3 = pow(y, 4);
1108const auto helper_4 = pow(helper_0, 3);
1109const auto helper_5 = helper_4*y;
1110const auto helper_6 = pow(x, 2);
1111const auto helper_7 = pow(y, 3);
1112const auto helper_8 = pow(y, 2);
1113const auto helper_9 = x*y;
1114const auto helper_10 = pow(helper_0, 2);
1115const auto helper_11 = helper_10*x;
1116const auto helper_12 = helper_8*x;
1117const auto helper_13 = helper_6*y;
1118const auto helper_14 = -helper_0;
1119result_0 = -1.0/9.0*x*(helper_0*helper_6*helper_7*(10240*x + 9216*y + 1455.9999999969837) + helper_1*(5175.0864197510464*helper_0*helper_8 + 8074.1975308620922*helper_0*helper_9 + 1349.9670781885347*helper_0*y + 2401.3086419746774*helper_10*y + 288*helper_10 + 1152*helper_11 + 19215.975308635519*helper_12 + 8872.8888888874026*helper_13 - 1152*helper_14*helper_6 - 576*helper_14*x + 384*helper_2 + 384*helper_4 + 288*helper_6 + 4693.7777777763404*helper_7 + 1915.7448559651768*helper_8 + 3022.855967075966*helper_9 + 48*x + 148.65843621400046*y + 48*z - 48) + helper_11*helper_8*(8960*helper_6 + 6656*helper_8 + 24495.99999999698*helper_9 + 2840.8888888843926*x + 2309.7777777734605*y + 100.65843621399797) + 4096*helper_2*helper_3 + 3200*helper_2*helper_5 + 1536*helper_3*helper_4 + helper_5*(18949.777777773441*helper_12 + 23000.888888884376*helper_13 + 1672.8888888874098*helper_6 + 853.77777777634219*helper_8 + 4756.6337448495051*helper_9 + 148.65843621394365*x + 100.65843621400738*y))/helper_1;} break;
1120 case 6: {const auto helper_0 = z - 1;
1121const auto helper_1 = pow(helper_0, 4);
1122const auto helper_2 = pow(x, 3);
1123const auto helper_3 = pow(helper_0, 3)*y;
1124const auto helper_4 = pow(y, 3);
1125const auto helper_5 = pow(x, 2);
1126const auto helper_6 = helper_0*helper_5;
1127const auto helper_7 = pow(y, 2);
1128const auto helper_8 = x*y;
1129const auto helper_9 = pow(helper_0, 2);
1130const auto helper_10 = helper_9*x;
1131const auto helper_11 = helper_7*x;
1132const auto helper_12 = helper_5*y;
1133const auto helper_13 = helper_0*x;
1134result_0 = (1.0/3.0)*x*(helper_1*(619.59876543118867*helper_0*helper_7 - 203.70164609089733*helper_0*y + 192*helper_10 + 5099.5987654291275*helper_11 + 3199.9999999993033*helper_12 + 1735.7098765422161*helper_13*y - 48*helper_13 + 192*helper_2 + 867.88888888826409*helper_4 + 384*helper_6 - 247.8127572025231*helper_7 - 203.70164609159639*helper_8 + 135.70987654290826*helper_9*y - 48*helper_9 - 12*x - 39.411522633753684*y - 12*z + 12) + helper_10*helper_7*(4480*helper_5 + 2432*helper_7 + 10239.999999998596*helper_8 - 2.0962320890003199e-9*x - 92.111111113073946*y - 27.41152263374596) + 1600*helper_2*helper_3 + 2048*helper_2*pow(y, 4) - helper_3*(-5987.8888888869242*helper_11 - 8959.9999999978936*helper_12 - 384*helper_4 + 6.9309981305685722e-10*helper_5 + 92.111111111735795*helper_7 + 247.81275720462844*helper_8 + 39.411522633801347*x + 27.411522633785371*y) + helper_4*helper_6*(5120*x + 4096*y - 1.4031719985416686e-9))/helper_1;} break;
1135 case 7: {const auto helper_0 = z - 1;
1136const auto helper_1 = pow(helper_0, 4);
1137const auto helper_2 = pow(x, 3);
1138const auto helper_3 = pow(x, 2);
1139const auto helper_4 = pow(y, 3);
1140const auto helper_5 = pow(helper_0, 3)*y;
1141const auto helper_6 = pow(helper_0, 2);
1142const auto helper_7 = x*y;
1143const auto helper_8 = pow(y, 2);
1144const auto helper_9 = helper_8*x;
1145const auto helper_10 = helper_3*y;
1146const auto helper_11 = helper_0*x;
1147result_0 = -1.0/9.0*x*(helper_0*helper_3*helper_4*(10240*x + 7168*y - 1456.0000000025959) + helper_1*(384*helper_0*helper_3 + 94.197530862606001*helper_0*helper_8 - 322.92181070024111*helper_0*y + 3927.1111111098085*helper_10 + 655.53086419568513*helper_11*y - 288*helper_11 + 384*helper_2 - 288*helper_3 + 677.77777777670281*helper_4 - 71.580246914135429*helper_6*y - 1995.8106995904616*helper_7 - 925.14403292339*helper_8 + 3973.3086419698834*helper_9 + 48*x + 148.65843621396692*y + 48*z - 48) + 4096*helper_2*pow(y, 4) + 128*helper_5*(25*helper_2 + 4*helper_4) + helper_5*(12839.111111107202*helper_10 - 1672.8888888901843*helper_3 - 3766.0329218161378*helper_7 - 602.22222222329856*helper_8 + 6901.7777777742403*helper_9 + 148.65843621383408*x + 100.65843621383591*y) + helper_6*helper_9*(8960*helper_3 + 16463.999999997395*helper_7 + 3584*helper_8 - 2840.8888888927791*x - 2058.2222222257665*y + 100.65843621399797))/helper_1;} break;
1148 case 8: {const auto helper_0 = z - 1;
1149const auto helper_1 = pow(helper_0, 4);
1150const auto helper_2 = pow(x, 3);
1151const auto helper_3 = pow(y, 3);
1152const auto helper_4 = pow(helper_0, 3);
1153const auto helper_5 = pow(x, 2);
1154const auto helper_6 = pow(y, 2);
1155const auto helper_7 = pow(helper_0, 2);
1156const auto helper_8 = x*y;
1157result_0 = -1.0/9.0*helper_8*(helper_0*helper_5*helper_6*(9216*x + 6144*y - 1456.0000000017499) + helper_1*(309.75308641849477*helper_0*x + 132.41975308533338*helper_0*y + 1450.2222222213347*helper_5 + 504.88888888815796*helper_6 + 11.530864197146977*helper_7 + 2302.6419753049627*helper_8 - 645.5884773676031*x - 438.9218107006688*y - 79.810699588936345*z + 132.46913580290965) + 4096*helper_2*helper_3 + 384*helper_4*(4*helper_2 + helper_3) + helper_4*(7674.2222222195733*helper_5*y - 853.77777777865936*helper_5 + 4808.8888888865295*helper_6*x - 359.11111111183618*helper_6 - 2172.6995884810467*helper_8 + 100.65843621386276*x + 52.658436213853271*y) + helper_7*helper_8*(6656*helper_5 + 2816*helper_6 + 12367.999999998239*helper_8 - 2309.7777777804099*x - 1527.1111111134887*y + 100.65843621400481))/helper_1;} break;
1158 case 9: {const auto helper_0 = z - 1;
1159const auto helper_1 = pow(helper_0, 4);
1160const auto helper_2 = pow(x, 3);
1161const auto helper_3 = pow(y, 3);
1162const auto helper_4 = pow(x, 2);
1163const auto helper_5 = pow(y, 2);
1164const auto helper_6 = pow(helper_0, 2);
1165const auto helper_7 = x*y;
1166result_0 = (1.0/3.0)*helper_7*(pow(helper_0, 3)*(384*helper_2 + 192*helper_3 + 3740.1111111101718*helper_4*y + 92.111111110805425*helper_4 + 2815.9999999991473*helper_5*x - 2.7319896018050639e-10*helper_5 + 28.520576130328358*helper_7 - 27.411522633801972*x - 15.411522633798988*y) + helper_0*helper_4*helper_5*(4096*x + 3072*y - 6.2602405769718611e-10) + helper_1*(319.93209876497087*helper_0*x + 227.82098765389279*helper_0*y + 668.11111111080334*helper_4 + 383.99999999972169*helper_5 + 35.820987654161719*helper_6 + 1727.9320987640881*helper_7 + 28.520576131181752*x - 15.590534979859203*y - 15.590534979637029*z + 0.17901234586861037) + 2048*helper_2*helper_3 + helper_6*helper_7*(2432*helper_4 + 1408*helper_5 + 6143.9999999993688*helper_7 + 92.111111110179181*x - 8.6045788934308092e-10*y - 27.411522633755212))/helper_1;} break;
1167 case 10: {const auto helper_0 = z - 1;
1168const auto helper_1 = pow(helper_0, 4);
1169const auto helper_2 = pow(x, 3);
1170const auto helper_3 = pow(y, 3);
1171const auto helper_4 = pow(helper_0, 3);
1172const auto helper_5 = pow(x, 2);
1173const auto helper_6 = pow(y, 2);
1174const auto helper_7 = pow(helper_0, 2);
1175const auto helper_8 = x*y;
1176result_0 = -1.0/9.0*helper_8*(helper_0*helper_5*helper_6*(7168*x + 6144*y + 1455.9999999989313) + helper_1*(1132.8641975300434*helper_0*x + 921.75308641893196*helper_0*y + 1370.2222222217058*helper_5 + 1031.111111110592*helper_6 + 274.64197530832848*helper_7 + 4771.9753086396022*helper_8 + 881.52263374394909*x + 638.41152263290496*y + 279.30041152219695*z - 226.64197530826405) + 4096*helper_2*helper_3 + 512*helper_2*helper_4 + 384*helper_3*helper_4 + helper_4*(7434.2222222206283*helper_5*y + 602.22222222170876*helper_5 + 6455.1111111096088*helper_6*x + 359.11111111060205*helper_6 + 2408.6337448535451*helper_8 + 100.65843621389136*x + 52.658436213915664*y) + helper_7*helper_8*(3584*helper_5 + 2816*helper_6 + 12207.999999998923*helper_8 + 2058.2222222206406*x + 1527.1111111096004*y + 100.65843621394865))/helper_1;} break;
1177 case 11: {const auto helper_0 = z - 1;
1178const auto helper_1 = pow(helper_0, 4);
1179const auto helper_2 = pow(x, 3);
1180const auto helper_3 = pow(y, 3);
1181const auto helper_4 = pow(helper_0, 3);
1182const auto helper_5 = pow(x, 2);
1183const auto helper_6 = pow(y, 2);
1184const auto helper_7 = pow(helper_0, 2);
1185const auto helper_8 = x*y;
1186result_0 = -1.0/9.0*helper_8*(helper_0*helper_5*helper_6*(6144*x + 7168*y + 1455.9999999990605) + helper_1*(921.75308641904292*helper_0*x + 1132.8641975300786*helper_0*y + 1031.1111111106877*helper_5 + 1370.2222222217219*helper_6 + 274.64197530834798*helper_7 + 4771.9753086398523*helper_8 + 638.41152263294816*x + 881.52263374403913*y + 279.30041152221867*z - 226.64197530828204) + 4096*helper_2*helper_3 + 384*helper_2*helper_4 + 512*helper_3*helper_4 + helper_4*(6455.1111111097398*helper_5*y + 359.11111111068971*helper_5 + 7434.2222222208566*helper_6*x + 602.22222222173252*helper_6 + 2408.6337448538011*helper_8 + 52.658436213892635*x + 100.65843621392094*y) + helper_7*helper_8*(2816*helper_5 + 3584*helper_6 + 12207.999999999054*helper_8 + 1527.1111111097512*x + 2058.2222222208534*y + 100.65843621394002))/helper_1;} break;
1187 case 12: {const auto helper_0 = z - 1;
1188const auto helper_1 = pow(helper_0, 4);
1189const auto helper_2 = pow(x, 3);
1190const auto helper_3 = pow(y, 3);
1191const auto helper_4 = pow(x, 2);
1192const auto helper_5 = pow(y, 2);
1193const auto helper_6 = pow(helper_0, 2);
1194const auto helper_7 = x*y;
1195result_0 = (1.0/3.0)*helper_7*(pow(helper_0, 3)*(192*helper_2 + 384*helper_3 + 2815.9999999993497*helper_4*y - 1.8903786277079899e-10*helper_4 + 3740.1111111104474*helper_5*x + 92.111111110870837*helper_5 + 28.52057613065481*helper_7 - 15.411522633801148*x - 27.411522633791748*y) + helper_0*helper_4*helper_5*(3072*x + 4096*y - 4.5623504933310087e-10) + helper_1*(227.82098765399545*helper_0*x + 319.93209876505216*helper_0*y + 383.99999999981009*helper_4 + 668.11111111086552*helper_5 + 35.820987654181955*helper_6 + 1727.9320987644187*helper_7 - 15.590534979796262*x + 28.520576131282496*y - 15.590534979622706*z + 0.17901234585336923) + 2048*helper_2*helper_3 + helper_6*helper_7*(1408*helper_4 + 2432*helper_5 + 6143.9999999995398*helper_7 - 6.4506145263672629e-10*x + 92.111111110446018*y - 27.411522633769287))/helper_1;} break;
1196 case 13: {const auto helper_0 = z - 1;
1197const auto helper_1 = pow(helper_0, 4);
1198const auto helper_2 = pow(x, 3);
1199const auto helper_3 = pow(y, 3);
1200const auto helper_4 = pow(helper_0, 3);
1201const auto helper_5 = pow(x, 2);
1202const auto helper_6 = pow(y, 2);
1203const auto helper_7 = pow(helper_0, 2);
1204const auto helper_8 = x*y;
1205result_0 = -1.0/9.0*helper_8*(helper_0*helper_5*helper_6*(6144*x + 9216*y - 1456.0000000008861) + helper_1*(132.41975308582911*helper_0*x + 309.753086419017*helper_0*y + 504.88888888855314*helper_5 + 1450.2222222217379*helper_6 + 11.530864197269521*helper_7 + 2302.6419753067084*helper_8 - 438.92181070027982*x - 645.58847736705877*y - 79.810699588858455*z + 132.46913580280841) + 4096*helper_2*helper_3 + 384*helper_4*(helper_2 + 4*helper_3) + helper_4*(4808.8888888876581*helper_5*y - 359.11111111144498*helper_5 + 7674.2222222209284*helper_6*x - 853.7777777782519*helper_6 - 2172.6995884793305*helper_8 + 52.658436213866011*x + 100.65843621387677*y) + helper_7*helper_8*(2816*helper_5 + 6656*helper_6 + 12367.999999999105*helper_8 - 1527.1111111123319*x - 2309.7777777790729*y + 100.65843621394616))/helper_1;} break;
1206 case 14: {const auto helper_0 = z - 1;
1207const auto helper_1 = pow(helper_0, 4);
1208const auto helper_2 = pow(y, 3);
1209const auto helper_3 = pow(x, 3);
1210const auto helper_4 = pow(y, 2);
1211const auto helper_5 = pow(helper_0, 3)*x;
1212const auto helper_6 = pow(helper_0, 2);
1213const auto helper_7 = x*y;
1214const auto helper_8 = pow(x, 2);
1215const auto helper_9 = helper_8*y;
1216const auto helper_10 = helper_4*x;
1217const auto helper_11 = helper_0*y;
1218result_0 = -1.0/9.0*y*(helper_0*helper_3*helper_4*(7168*x + 10240*y - 1456.0000000010709) + helper_1*(384*helper_0*helper_4 + 94.197530863543079*helper_0*helper_8 - 322.92181069998082*helper_0*x + 3927.1111111105356*helper_10 + 655.53086419670194*helper_11*x - 288*helper_11 + 384*helper_2 + 677.77777777738129*helper_3 - 288*helper_4 - 71.580246913844846*helper_6*x - 1995.8106995893595*helper_7 - 925.1440329225743*helper_8 + 3973.3086419730425*helper_9 + 148.65843621395942*x + 48*y + 48*z - 48) + 4096*helper_2*pow(x, 4) + 128*helper_5*(25*helper_2 + 4*helper_3) + helper_5*(12839.111111109549*helper_10 - 1672.8888888894544*helper_4 - 3766.0329218129823*helper_7 - 602.22222222261655*helper_8 + 6901.7777777763022*helper_9 + 100.65843621386695*x + 148.65843621388612*y) + helper_6*helper_9*(8960*helper_4 + 16463.99999999892*helper_7 + 3584*helper_8 - 2058.2222222236878*x - 2840.8888888904494*y + 100.65843621395091))/helper_1;} break;
1219 case 15: {const auto helper_0 = z - 1;
1220const auto helper_1 = pow(helper_0, 4);
1221const auto helper_2 = pow(y, 3);
1222const auto helper_3 = pow(helper_0, 3)*x;
1223const auto helper_4 = pow(x, 3);
1224const auto helper_5 = pow(y, 2);
1225const auto helper_6 = helper_0*helper_5;
1226const auto helper_7 = pow(x, 2);
1227const auto helper_8 = x*y;
1228const auto helper_9 = pow(helper_0, 2);
1229const auto helper_10 = helper_9*y;
1230const auto helper_11 = helper_5*x;
1231const auto helper_12 = helper_7*y;
1232const auto helper_13 = helper_0*y;
1233result_0 = (1.0/3.0)*y*(helper_1*(619.59876543165421*helper_0*helper_7 - 203.70164609073817*helper_0*x + 192*helper_10 + 3199.9999999996257*helper_11 + 5099.5987654305663*helper_12 + 1735.7098765426997*helper_13*x - 48*helper_13 + 192*helper_2 + 867.88888888858423*helper_4 + 384*helper_6 - 247.81275720213887*helper_7 - 203.70164609103523*helper_8 + 135.70987654306646*helper_9*x - 48*helper_9 - 39.411522633750543*x - 12*y - 12*z + 12) + helper_10*helper_7*(4480*helper_5 + 2432*helper_7 + 10239.999999999258*helper_8 - 92.11111111215223*x - 1.0612450095425815e-9*y - 27.41152263375335) + 1600*helper_2*helper_3 + 2048*helper_2*pow(x, 4) - helper_3*(-8959.9999999989377*helper_11 - 5987.8888888878409*helper_12 - 384*helper_4 + 3.6851397298996122e-10*helper_5 + 92.111111111414161*helper_7 + 247.8127572031724*helper_8 + 27.411522633785349*x + 39.411522633763482*y) + helper_4*helper_6*(4096*x + 5120*y - 7.3737849791098341e-10))/helper_1;} break;
1234 case 16: {const auto helper_0 = z - 1;
1235const auto helper_1 = pow(helper_0, 4);
1236const auto helper_2 = pow(x, 4);
1237const auto helper_3 = pow(y, 3);
1238const auto helper_4 = pow(helper_0, 3);
1239const auto helper_5 = helper_4*x;
1240const auto helper_6 = pow(x, 3);
1241const auto helper_7 = pow(y, 2);
1242const auto helper_8 = pow(x, 2);
1243const auto helper_9 = x*y;
1244const auto helper_10 = pow(helper_0, 2);
1245const auto helper_11 = helper_10*y;
1246const auto helper_12 = helper_7*x;
1247const auto helper_13 = helper_8*y;
1248const auto helper_14 = helper_0*x;
1249const auto helper_15 = -helper_0;
1250result_0 = -1.0/9.0*y*(helper_0*helper_6*helper_7*(9216*x + 10240*y + 1455.999999997749) + helper_1*(5175.0864197516285*helper_0*helper_8 + 2401.3086419748693*helper_10*x + 288*helper_10 + 1152*helper_11 + 8872.8888888878137*helper_12 + 19215.975308637255*helper_13 + 8074.1975308626988*helper_14*y + 1349.9670781887205*helper_14 - 1152*helper_15*helper_7 - 576*helper_15*y + 384*helper_3 + 384*helper_4 + 4693.7777777767515*helper_6 + 288*helper_7 + 1915.7448559655068*helper_8 + 3022.8559670767831*helper_9 + 148.65843621397426*x + 48*y + 48*z - 48) + helper_11*helper_8*(8960*helper_7 + 6656*helper_8 + 24495.999999997741*helper_9 + 2309.7777777745077*x + 2840.8888888856827*y + 100.65843621397137) + 4096*helper_2*helper_3 + 1536*helper_2*helper_4 + 3200*helper_3*helper_5 + helper_5*(23000.888888885671*helper_12 + 18949.777777774489*helper_13 + 1672.888888887825*helper_7 + 853.77777777675351*helper_8 + 4756.6337448512504*helper_9 + 100.65843621393424*x + 148.6584362140176*y))/helper_1;} break;
1251 case 17: {const auto helper_0 = z - 1;
1252const auto helper_1 = pow(helper_0, 3);
1253const auto helper_2 = pow(x, 3);
1254const auto helper_3 = pow(y, 3);
1255const auto helper_4 = pow(helper_0, 2);
1256const auto helper_5 = x*y;
1257const auto helper_6 = helper_4*helper_5;
1258const auto helper_7 = pow(x, 2);
1259const auto helper_8 = pow(y, 2);
1260const auto helper_9 = helper_7*helper_8;
1261const auto helper_10 = helper_8*x;
1262const auto helper_11 = helper_7*y;
1263const auto helper_12 = 128*helper_2;
1264const auto helper_13 = 128*helper_3;
1265const auto helper_14 = 208*helper_0;
1266const auto helper_15 = 576*helper_4;
1267const auto helper_16 = 384*helper_1;
1268const auto helper_17 = -helper_0;
1269const auto helper_18 = 480*helper_17;
1270const auto helper_19 = 384*helper_4;
1271result_0 = -1.0/9.0*(3*helper_0*helper_9*(746.99999999993986*helper_5 + 1421.9999999999*x + 1421.9999999998822*y + 289.8333333333199) + 3*helper_1*(128*pow(helper_0, 4) + 2096.7499999998963*helper_0*helper_10 + 2096.7499999999154*helper_0*helper_11 + 2255.5833333332694*helper_0*helper_5 + 224*helper_1 + 2482.5833333332398*helper_10 + 2482.5833333332457*helper_11 - helper_12*helper_17 + helper_12 - helper_13*helper_17 + helper_13 + helper_14*x + helper_14*y + helper_15*x + helper_15*y + helper_16*x + helper_16*y - helper_18*helper_7 - helper_18*helper_8 + helper_19*helper_7 + helper_19*helper_8 + 802.9999999999593*helper_2*y + 802.99999999994191*helper_3*x + 112*helper_4 + 593.83333333332507*helper_5 + 1677.7499999999563*helper_6 + 96*helper_7 + 96*helper_8 + 3134.7499999997981*helper_9 + 16*x + 16*y + 16*z - 16) + 2240.9999999998195*helper_2*helper_3 + 3*helper_6*(1421.9999999998802*helper_10 + 1421.9999999998995*helper_11 + 3424.5833333331157*helper_5 + 802.9999999999593*helper_7 + 802.99999999994259*helper_8 + 385.83333333334127*x + 385.83333333334758*y) + 48*helper_6)/helper_1;} break;
1272 case 18: {const auto helper_0 = z - 1;
1273const auto helper_1 = pow(helper_0, 3);
1274const auto helper_2 = pow(x, 3);
1275const auto helper_3 = pow(y, 3);
1276const auto helper_4 = x*y;
1277const auto helper_5 = pow(x, 2);
1278const auto helper_6 = pow(y, 2);
1279const auto helper_7 = helper_5*helper_6;
1280const auto helper_8 = helper_6*x;
1281const auto helper_9 = helper_5*y;
1282const auto helper_10 = pow(helper_0, 2);
1283const auto helper_11 = helper_10*helper_4;
1284const auto helper_12 = 124*helper_0;
1285const auto helper_13 = 128*helper_1;
1286const auto helper_14 = 240*helper_10;
1287const auto helper_15 = 112*helper_0;
1288const auto helper_16 = 64*helper_10;
1289result_0 = (helper_0*helper_7*(101.24999999999241*helper_4 + 166.49999999998812*x + 166.49999999998715*y + 152.87499999999048) + helper_1*(64*pow(helper_0, 4) + 763.43749999997374*helper_0*helper_4 + 387.81249999997863*helper_0*helper_8 + 387.81249999997982*helper_0*helper_9 + 76*helper_10 + 450.56249999998414*helper_11 + helper_12*x + helper_12*y + helper_13*x + helper_13*y + helper_13 + helper_14*x + helper_14*y + helper_15*helper_5 + helper_15*helper_6 + helper_16*helper_5 + helper_16*helper_6 + 65.249999999995666*helper_2*y + 65.249999999994671*helper_3*x + 324.87499999999091*helper_4 + 48*helper_5 + 48*helper_6 + 490.3124999999668*helper_7 + 588.68749999997158*helper_8 + 588.68749999997146*helper_9 + 12*x + 12*y + 12*z - 12) + helper_11*(643.18749999995725*helper_4 + 65.249999999995637*helper_5 + 65.249999999994756*helper_6 + 166.49999999998687*helper_8 + 166.49999999998806*helper_9 + 200.87499999999298*x + 200.87499999999406*y + 12) + 101.24999999999241*helper_2*helper_3)/helper_1;} break;
1290 case 19: {const auto helper_0 = z - 1;
1291const auto helper_1 = pow(helper_0, 3);
1292const auto helper_2 = pow(x, 3);
1293const auto helper_3 = pow(y, 3);
1294const auto helper_4 = x*y;
1295const auto helper_5 = pow(y, 2);
1296const auto helper_6 = pow(x, 2);
1297const auto helper_7 = helper_5*helper_6;
1298const auto helper_8 = helper_5*x;
1299const auto helper_9 = helper_6*y;
1300const auto helper_10 = pow(helper_0, 2);
1301const auto helper_11 = helper_10*helper_4;
1302const auto helper_12 = 208*helper_0;
1303const auto helper_13 = 288*helper_10;
1304const auto helper_14 = 128*helper_1;
1305result_0 = -1.0/3.0*(helper_0*helper_7*(80.999999999996248*helper_4 + 161.99999999999457*x + 161.99999999999258*y + 226.83333333331478) + helper_1*(128*pow(helper_0, 4) + 936.08333333328551*helper_0*helper_4 + 502.24999999996783*helper_0*helper_8 + 502.24999999996999*helper_0*helper_9 + 288*helper_1 + 208*helper_10 + 549.24999999997192*helper_11 + helper_12*x + helper_12*y + helper_13*x + helper_13*y + helper_14*x + helper_14*y + 80.999999999998266*helper_2*y + 80.999999999996277*helper_3*x + 434.83333333331547*helper_4 + 664.24999999996248*helper_7 + 729.0833333332846*helper_8 + 729.08333333328608*helper_9 + 48*x + 48*y + 48*z - 48) + helper_11*(891.0833333332771*helper_4 + 80.999999999996319*helper_5 + 80.99999999999828*helper_6 + 161.9999999999923*helper_8 + 161.99999999999451*helper_9 + 226.83333333331734*x + 226.83333333331825*y + 48) + 80.99999999999622*helper_2*helper_3)/helper_1;} break;
1306 case 20: {const auto helper_0 = z - 1;
1307const auto helper_1 = pow(helper_0, 3);
1308const auto helper_2 = pow(x, 2);
1309const auto helper_3 = pow(y, 3);
1310const auto helper_4 = pow(helper_0, 2)*y;
1311const auto helper_5 = x*y;
1312const auto helper_6 = pow(y, 2);
1313const auto helper_7 = helper_0*helper_6;
1314const auto helper_8 = helper_6*x;
1315const auto helper_9 = helper_2*y;
1316const auto helper_10 = 288*x;
1317const auto helper_11 = 384*helper_2;
1318const auto helper_12 = helper_0*y;
1319result_0 = (1.0/9.0)*x*(helper_1*(-helper_0*helper_10 + helper_0*helper_11 - helper_10 + helper_11 + 936.74999999978104*helper_12*x - 901.75000000011892*helper_12 + 599.99999999983493*helper_3 - 320.25000000009038*helper_4 - 220.75000000020603*helper_5 - 301.75000000020322*helper_6 + 279.74999999974119*helper_7 + 3393.7499999994338*helper_8 + 2408.9999999998709*helper_9 - 533.50000000000409*y + 48*z) + 2240.9999999998136*helper_2*helper_3 + 3*helper_4*(802.99999999995703*helper_2 + 841.41666666647279*helper_5 + 199.99999999994537*helper_6 + 818.99999999988154*helper_8 + 1421.9999999998954*helper_9 - 385.83333333331842*x - 193.83333333331149*y) + 48*helper_4 + 3*helper_7*x*(746.99999999993815*helper_5 + 1421.9999999998959*x + 818.99999999988336*y - 289.83333333333684))/helper_1;} break;
1320 case 21: {const auto helper_0 = z - 1;
1321const auto helper_1 = pow(helper_0, 3);
1322const auto helper_2 = pow(x, 2);
1323const auto helper_3 = pow(y, 3);
1324const auto helper_4 = pow(y, 2);
1325const auto helper_5 = x*y;
1326const auto helper_6 = helper_0*x;
1327const auto helper_7 = helper_4*x;
1328const auto helper_8 = helper_2*y;
1329const auto helper_9 = pow(helper_0, 2);
1330const auto helper_10 = helper_9*y;
1331result_0 = -x*(-helper_1*(93.312500000007191*helper_0*helper_4 + 218.18750000000574*helper_0*y + 129.31250000000378*helper_10 - 35.99999999999671*helper_3 + 198.18750000000662*helper_4 + 392.93750000000881*helper_5 + 192.06250000000756*helper_6*y + 112*helper_6 - 9.1874999999834799*helper_7 - 65.249999999996206*helper_8 + 64*helper_9*x - 16*helper_9 + 48*x + 76.875000000001918*y - 28*z + 16) + helper_10*(65.249999999996177*helper_2 + 35.99999999999676*helper_4 - 143.68750000001819*helper_5 + 137.24999999999076*helper_7 + 166.49999999999045*helper_8 - 200.87499999999974*x - 104.87499999999841*y + 12) + 101.24999999999422*helper_2*helper_3 + helper_4*helper_6*(101.24999999999424*helper_5 + 166.49999999999048*x + 137.24999999999105*y - 152.87500000000168))/helper_1;} break;
1332 case 22: {const auto helper_0 = z - 1;
1333const auto helper_1 = pow(helper_0, 3);
1334const auto helper_2 = pow(x, 2);
1335const auto helper_3 = pow(y, 3);
1336const auto helper_4 = x*y;
1337const auto helper_5 = pow(y, 2);
1338const auto helper_6 = helper_0*helper_5;
1339const auto helper_7 = 80.999999999993818*helper_2;
1340const auto helper_8 = helper_5*x;
1341const auto helper_9 = pow(helper_0, 2);
1342const auto helper_10 = helper_9*y;
1343result_0 = (1.0/3.0)*x*(-helper_1*(259.25000000001342*helper_0*helper_4 + 279.08333333334434*helper_0*y - 128*helper_1 + 212.25000000000728*helper_10 + 4.3011407915308443e-12*helper_3 + 486.08333333334951*helper_4 + 567.08333333334622*helper_5 + 340.25000000001165*helper_6 - helper_7*y + 178.25000000002703*helper_8 - 288*helper_9 + 18.833333333337016*y - 208*z + 160) + helper_10*(161.99999999998442*helper_2*y - 405.0833333333635*helper_4 - 4.2597873040507641e-12*helper_5 + helper_7 + 80.99999999998613*helper_8 - 226.83333333333471*x - 226.83333333333377*y + 48) + 80.999999999990592*helper_2*helper_3 + helper_6*x*(80.999999999990635*helper_4 + 161.99999999998451*x + 80.999999999986343*y - 226.83333333333644))/helper_1;} break;
1344 case 23: {const auto helper_0 = z - 1;
1345const auto helper_1 = pow(helper_0, 3);
1346const auto helper_2 = pow(helper_0, 2);
1347const auto helper_3 = pow(x, 2);
1348const auto helper_4 = pow(y, 2);
1349const auto helper_5 = x*y;
1350result_0 = -1.0/3.0*helper_5*(3*helper_0*helper_5*(248.99999999998863*helper_5 + 272.99999999998164*x + 272.9999999999801*y + 96.611111111109281) + helper_1*(506.74999999996442*helper_0*x + 506.7499999999593*helper_0*y + 306.74999999998562*helper_2 + 199.99999999997885*helper_3 + 199.99999999997408*helper_4 + 1325.7499999999045*helper_5 + 700.58333333329711*x + 700.58333333330063*y + 500.58333333331234*z - 290.74999999998283) + helper_2*(818.99999999994452*helper_3*y + 199.99999999997868*helper_3 + 818.99999999993895*helper_4*x + 199.99999999997442*helper_4 + 1615.5833333332334*helper_5 + 193.83333333333871*x + 193.83333333334664*y) + 16*helper_2 + 746.99999999996555*helper_3*helper_4)/helper_1;} break;
1351 case 24: {const auto helper_0 = z - 1;
1352const auto helper_1 = pow(helper_0, 3);
1353const auto helper_2 = pow(x, 2);
1354const auto helper_3 = pow(y, 2);
1355const auto helper_4 = x*y;
1356const auto helper_5 = pow(helper_0, 2);
1357result_0 = helper_4*(helper_0*helper_4*(101.24999999999447*helper_4 + 137.24999999999119*x + 137.24999999998994*y + 152.87499999999898) + helper_1*(201.31249999999409*helper_0*x + 201.31249999999264*helper_0*y + 35.999999999996682*helper_2 + 35.999999999995374*helper_3 + 402.56249999998397*helper_4 + 165.31249999999744*helper_5 + 306.18749999999386*x + 306.1874999999938*y + 286.18749999999596*z - 153.31249999999648) + 101.24999999999447*helper_2*helper_3 + helper_5*(137.24999999999113*helper_2*y + 35.999999999996675*helper_2 + 137.24999999998963*helper_3*x + 35.999999999995403*helper_3 + 555.43749999998306*helper_4 + 104.87500000000092*x + 104.87500000000209*y + 12))/helper_1;} break;
1358 case 25: {const auto helper_0 = z - 1;
1359const auto helper_1 = pow(helper_0, 3);
1360const auto helper_2 = pow(x, 2);
1361const auto helper_3 = pow(y, 2);
1362const auto helper_4 = x*y;
1363const auto helper_5 = pow(helper_0, 2);
1364result_0 = -helper_4*(helper_0*helper_4*(26.999999999999375*helper_4 + 26.999999999999218*x + 26.999999999998483*y + 75.61111111111029) + helper_1*(113.41666666666536*helper_0*x + 113.41666666666458*helper_0*y - 1.635673703057286e-13*helper_2 - 8.9202857267964244e-13*helper_3 + 140.41666666666382*helper_4 + 156.08333333333223*helper_5 + 189.02777777777584*x + 189.02777777777536*y + 285.02777777777567*z - 140.08333333333184) + 26.999999999999364*helper_2*helper_3 + helper_5*(26.999999999999201*helper_2*y - 1.6757697275237367e-13*helper_2 + 26.999999999998437*helper_3*x - 8.8965469358936342e-13*helper_3 + 216.02777777777413*helper_4 + 75.61111111111066*x + 75.611111111110972*y + 16))/helper_1;} break;
1365 case 26: {const auto helper_0 = z - 1;
1366const auto helper_1 = pow(helper_0, 3);
1367const auto helper_2 = pow(x, 3);
1368const auto helper_3 = pow(y, 2);
1369const auto helper_4 = pow(helper_0, 2)*x;
1370const auto helper_5 = x*y;
1371const auto helper_6 = pow(x, 2);
1372const auto helper_7 = helper_6*y;
1373const auto helper_8 = helper_3*x;
1374const auto helper_9 = 288*y;
1375const auto helper_10 = 384*helper_3;
1376result_0 = (1.0/9.0)*y*(3*helper_0*helper_7*(746.9999999999734*helper_5 + 818.99999999995453*x + 1421.9999999999516*y - 289.83333333333462) + helper_1*(helper_0*helper_10 + 936.749999999907*helper_0*helper_5 + 279.74999999991826*helper_0*helper_6 - helper_0*helper_9 - 901.75000000002944*helper_0*x + helper_10 + 599.99999999994236*helper_2 - 320.25000000002319*helper_4 - 220.75000000005392*helper_5 - 301.7500000000702*helper_6 + 3393.7499999997708*helper_7 + 2408.9999999999327*helper_8 - helper_9 - 533.49999999999886*x + 48*z) + 2240.99999999992*helper_2*helper_3 + 3*helper_4*(802.99999999997794*helper_3 + 841.41666666659114*helper_5 + 199.99999999998062*helper_6 + 818.99999999995396*helper_7 + 1421.99999999995*helper_8 - 193.83333333332294*x - 385.83333333331501*y) + 48*helper_4)/helper_1;} break;
1377 case 27: {const auto helper_0 = z - 1;
1378const auto helper_1 = pow(helper_0, 3);
1379const auto helper_2 = pow(x, 3);
1380const auto helper_3 = pow(y, 2);
1381const auto helper_4 = pow(x, 2);
1382const auto helper_5 = x*y;
1383const auto helper_6 = helper_0*y;
1384const auto helper_7 = helper_3*x;
1385const auto helper_8 = helper_4*y;
1386const auto helper_9 = pow(helper_0, 2);
1387const auto helper_10 = helper_9*x;
1388result_0 = -y*(-helper_1*(93.312500000006551*helper_0*helper_4 + 218.18750000000438*helper_0*x + 129.31250000000301*helper_10 - 35.999999999996454*helper_2 + 198.18750000000725*helper_4 + 392.93750000000557*helper_5 + 192.06250000000637*helper_6*x + 112*helper_6 - 65.249999999996689*helper_7 - 9.1874999999855369*helper_8 + 64*helper_9*y - 16*helper_9 + 76.875000000001222*x + 48*y - 28*z + 16) + helper_10*(65.249999999996732*helper_3 + 35.999999999996433*helper_4 - 143.68750000001546*helper_5 + 166.49999999999179*helper_7 + 137.24999999999176*helper_8 - 104.87499999999959*x - 200.87499999999832*y + 12) + 101.2499999999953*helper_2*helper_3 + helper_4*helper_6*(101.24999999999531*helper_5 + 137.24999999999179*x + 166.4999999999921*y - 152.87500000000117))/helper_1;} break;
1389 case 28: {const auto helper_0 = z - 1;
1390const auto helper_1 = pow(helper_0, 3);
1391const auto helper_2 = pow(x, 3);
1392const auto helper_3 = pow(y, 2);
1393const auto helper_4 = x*y;
1394const auto helper_5 = pow(x, 2);
1395const auto helper_6 = helper_0*helper_5;
1396const auto helper_7 = helper_3*x;
1397const auto helper_8 = helper_5*y;
1398const auto helper_9 = pow(helper_0, 2);
1399const auto helper_10 = helper_9*x;
1400const auto helper_11 = helper_0*x;
1401result_0 = (1.0/3.0)*y*(-helper_1*(-128*helper_1 + 212.25000000000102*helper_10 + 259.25000000000324*helper_11*y + 279.08333333333439*helper_11 + 2.7221053942458628e-12*helper_2 + 486.08333333333542*helper_4 + 567.08333333333712*helper_5 + 340.25000000000381*helper_6 - 80.999999999997712*helper_7 + 178.25000000000981*helper_8 - 288*helper_9 + 18.833333333333499*x - 208*z + 160) + helper_10*(80.999999999997755*helper_3 - 405.08333333334281*helper_4 - 2.7338287160697451e-12*helper_5 + 161.99999999999372*helper_7 + 80.999999999993406*helper_8 - 226.83333333333269*x - 226.83333333333161*y + 48) + 80.99999999999612*helper_2*helper_3 + helper_6*y*(80.999999999996135*helper_4 + 80.999999999993449*x + 161.99999999999395*y - 226.83333333333337))/helper_1;} break;
1402 case 29: {const auto helper_0 = z - 1;
1403const auto helper_1 = pow(helper_0, 3);
1404const auto helper_2 = pow(x, 2);
1405const auto helper_3 = pow(y, 3);
1406const auto helper_4 = pow(y, 2);
1407const auto helper_5 = x*y;
1408const auto helper_6 = helper_0*x;
1409const auto helper_7 = 703.99999999996385*helper_2;
1410const auto helper_8 = helper_4*x;
1411const auto helper_9 = pow(helper_0, 2);
1412const auto helper_10 = helper_9*y;
1413const auto helper_11 = 128*helper_2;
1414result_0 = x*(helper_1*(helper_0*helper_11 + 819.9999999999269*helper_0*helper_4 + 686.66666666664048*helper_0*y + 128*helper_1 + 587.99999999997874*helper_10 + helper_11 + 359.9999999999493*helper_3 + 886.66666666661342*helper_4 + 1390.6666666666176*helper_5 + 1291.9999999999427*helper_6*y + 288*helper_6 + helper_7*y + 1971.999999999842*helper_8 + 256*helper_9*x + 160*helper_9 + 32*x + 98.666666666671404*y + 32*z - 32) + helper_10*(1151.9999999999138*helper_2*y + 359.99999999994981*helper_4 + 2038.6666666665089*helper_5 + helper_7 + 935.9999999998978*helper_8 + 98.666666666684108*x + 66.666666666688542*y) + 575.99999999994952*helper_2*helper_3 + helper_4*helper_6*(575.99999999994975*helper_5 + 1151.9999999999141*x + 935.99999999989927*y + 66.666666666667552))/helper_1;} break;
1415 case 30: {const auto helper_0 = z - 1;
1416const auto helper_1 = pow(helper_0, 3);
1417const auto helper_2 = pow(x, 2);
1418const auto helper_3 = pow(y, 3);
1419const auto helper_4 = pow(y, 2);
1420const auto helper_5 = x*y;
1421const auto helper_6 = helper_0*x;
1422const auto helper_7 = helper_4*x;
1423const auto helper_8 = helper_2*y;
1424const auto helper_9 = pow(helper_0, 2);
1425const auto helper_10 = helper_9*y;
1426result_0 = x*(-helper_1*(139.99999999999503*helper_0*helper_4 + 625.33333333332757*helper_0*y + 128*helper_1 + 339.99999999999642*helper_10 - 72.000000000001322*helper_3 + 329.33333333332621*helper_4 + 625.33333333332655*helper_5 + 339.99999999999511*helper_6*y + 224*helper_6 + 139.99999999999125*helper_7 - 1.3325471290592446e-12*helper_8 + 128*helper_9*x + 224*helper_9 + 96*x + 285.3333333333315*y + 96*z - 96) + helper_10*(1.3325471290592448e-12*helper_2 + 72.00000000000135*helper_4 - 329.33333333332246*helper_5 + 72.000000000003737*helper_7 + 3.7743204639419659e-12*helper_8 - 285.33333333333144*x - 189.33333333333124*y) + 2.4417733348827201e-12*helper_2*helper_3 + helper_4*helper_6*(2.4417733348827209e-12*helper_5 + 3.7743204639419659e-12*x + 72.000000000003794*y - 189.3333333333313))/helper_1;} break;
1427 case 31: {const auto helper_0 = z - 1;
1428const auto helper_1 = pow(helper_0, 3);
1429const auto helper_2 = pow(x, 2);
1430const auto helper_3 = pow(y, 3);
1431const auto helper_4 = x*y;
1432const auto helper_5 = pow(y, 2);
1433const auto helper_6 = helper_5*x;
1434const auto helper_7 = 703.99999999996328*helper_2;
1435const auto helper_8 = pow(helper_0, 2);
1436const auto helper_9 = helper_8*y;
1437const auto helper_10 = 128*helper_2;
1438const auto helper_11 = -helper_0;
1439result_0 = -x*(helper_0*helper_6*(575.99999999994816*helper_4 + 1151.9999999999118*x + 791.99999999989836*y - 66.666666666667055) + helper_1*(819.99999999993986*helper_0*helper_4 + 331.99999999992548*helper_0*helper_5 + 17.333333333304179*helper_0*y - helper_10*helper_11 + helper_10 - 96*helper_11*x + 215.99999999994984*helper_3 + 721.33333333327982*helper_4 + 265.33333333327738*helper_5 + 1483.9999999998386*helper_6 + helper_7*y + 128*helper_8*x - 32*helper_8 + 115.99999999997674*helper_9 - 32*x - 98.666666666663886*y - 32*z + 32) + 575.99999999994805*helper_2*helper_3 + helper_9*(1151.9999999999111*helper_2*y + 1417.3333333331702*helper_4 + 215.99999999995015*helper_5 + 791.99999999989666*helper_6 + helper_7 - 98.666666666651153*x - 66.666666666646577*y))/helper_1;} break;
1440 case 32: {const auto helper_0 = z - 1;
1441const auto helper_1 = pow(helper_0, 3);
1442const auto helper_2 = pow(x, 2);
1443const auto helper_3 = pow(y, 2);
1444const auto helper_4 = x*y;
1445const auto helper_5 = pow(helper_0, 2);
1446result_0 = -helper_4*(helper_0*helper_4*(575.99999999996066*helper_4 + 935.99999999993577*x + 575.99999999993611*y - 66.666666666675638) + helper_1*(259.99999999995202*helper_0*x + 155.99999999995177*helper_0*y + 359.99999999997493*helper_2 + 127.99999999997524*helper_3 + 835.99999999988859*helper_4 + 27.999999999977195*helper_5 + 193.33333333328082*x + 121.33333333328886*y - 6.6666666667010821*z - 27.999999999974897) + 575.99999999996044*helper_2*helper_3 + helper_5*(935.99999999993577*helper_2*y + 359.99999999997476*helper_2 + 575.99999999993474*helper_3*x + 127.99999999997544*helper_3 + 769.33333333321241*helper_4 - 66.666666666664213*x - 34.666666666656972*y))/helper_1;} break;
1447 case 33: {const auto helper_0 = z - 1;
1448const auto helper_1 = pow(helper_0, 3);
1449const auto helper_2 = pow(x, 2);
1450const auto helper_3 = pow(y, 2);
1451const auto helper_4 = x*y;
1452const auto helper_5 = pow(helper_0, 2);
1453result_0 = helper_4*(helper_0*helper_4*(3.4024097385637204e-12*helper_4 - 71.999999999994628*x + 5.6825183333780663e-12*y - 189.33333333333181) - helper_1*(355.9999999999946*helper_0*x + 155.99999999999426*helper_0*y + 71.99999999999801*helper_2 - 2.2533251816107851e-12*helper_3 + 355.9999999999888*helper_4 + 155.99999999999662*helper_5 + 545.33333333332735*x + 249.33333333332683*y + 249.33333333332783*z - 155.99999999999585) + 3.4024097385637208e-12*helper_2*helper_3 - helper_5*(71.999999999994614*helper_2*y + 71.999999999998025*helper_2 - 5.7174850654364646e-12*helper_3*x - 2.254333573092863e-12*helper_3 + 545.33333333332041*helper_4 + 189.33333333333292*x + 93.333333333332973*y))/helper_1;} break;
1454 case 34: {const auto helper_0 = z - 1;
1455const auto helper_1 = pow(helper_0, 3);
1456const auto helper_2 = pow(x, 2);
1457const auto helper_3 = pow(y, 2);
1458const auto helper_4 = x*y;
1459const auto helper_5 = pow(helper_0, 2);
1460result_0 = helper_4*(helper_0*helper_4*(575.99999999996703*helper_4 + 791.99999999994623*x + 575.99999999994498*y + 66.666666666660944) + helper_1*(315.99999999996345*helper_0*x + 227.99999999996137*helper_0*y + 215.99999999997905*helper_2 + 127.99999999997753*helper_3 + 891.99999999990825*helper_4 + 99.999999999984396*helper_5 + 382.6666666666278*x + 262.66666666663366*y + 134.66666666664349*z - 99.999999999982123) + 575.99999999996714*helper_2*helper_3 + helper_5*(791.99999999994611*helper_2*y + 215.99999999997897*helper_2 + 575.99999999994361*helper_3*x + 127.99999999997777*helper_3 + 958.66666666656977*helper_4 + 66.66666666667038*x + 34.666666666677592*y))/helper_1;} break;
1461 case 35: {const auto helper_0 = z - 1;
1462const auto helper_1 = pow(helper_0, 3);
1463const auto helper_2 = pow(x, 2);
1464const auto helper_3 = pow(y, 2);
1465const auto helper_4 = x*y;
1466const auto helper_5 = pow(helper_0, 2);
1467result_0 = helper_4*(helper_0*helper_4*(575.99999999997738*helper_4 + 575.99999999996294*x + 791.99999999995998*y + 66.666666666663488) + helper_1*(227.9999999999763*helper_0*x + 315.99999999997277*helper_0*y + 127.99999999998515*helper_2 + 215.99999999998201*helper_3 + 891.99999999993599*helper_4 + 99.999999999991189*helper_5 + 262.66666666664332*x + 382.66666666664634*y + 134.66666666665424*z - 99.999999999989342) + 575.99999999997738*helper_2*helper_3 + helper_5*(575.9999999999626*helper_2*y + 127.99999999998506*helper_2 + 791.99999999995862*helper_3*x + 215.99999999998221*helper_3 + 958.66666666660058*helper_4 + 34.666666666671539*x + 66.666666666677415*y))/helper_1;} break;
1468 case 36: {const auto helper_0 = z - 1;
1469const auto helper_1 = pow(helper_0, 3);
1470const auto helper_2 = pow(x, 2);
1471const auto helper_3 = pow(y, 2);
1472const auto helper_4 = x*y;
1473const auto helper_5 = pow(helper_0, 2);
1474const auto helper_6 = 1.863616757575952e-12*helper_2;
1475result_0 = -helper_4*(helper_0*helper_4*(3.2383777776577803e-12*helper_4 + 5.1019945352337323e-12*x + 72.000000000003908*y + 189.33333333333599) + helper_1*(156.00000000000665*helper_0*x + 356.00000000000546*helper_0*y + 72.000000000000668*helper_3 + 356.00000000001052*helper_4 + 156.0000000000048*helper_5 + helper_6 + 249.33333333334306*x + 545.33333333334133*y + 249.33333333334079*z - 156.00000000000432) + 3.2383777776577795e-12*helper_2*helper_3 + helper_5*(5.1019945352337323e-12*helper_2*y + 72.000000000003894*helper_3*x + 72.000000000000725*helper_3 + 545.33333333334656*helper_4 + helper_6 + 93.333333333336313*x + 189.33333333333627*y))/helper_1;} break;
1476 case 37: {const auto helper_0 = z - 1;
1477const auto helper_1 = pow(helper_0, 3);
1478const auto helper_2 = pow(x, 2);
1479const auto helper_3 = pow(y, 2);
1480const auto helper_4 = x*y;
1481const auto helper_5 = pow(helper_0, 2);
1482result_0 = -helper_4*(helper_0*helper_4*(575.99999999997931*helper_4 + 575.99999999996476*x + 935.99999999996237*y - 66.666666666668945) + helper_1*(155.99999999997829*helper_0*x + 259.99999999997482*helper_0*y + 127.9999999999857*helper_2 + 359.99999999998278*helper_3 + 835.99999999994043*helper_4 + 27.999999999992642*helper_5 + 121.33333333331299*x + 193.33333333331629*y - 6.666666666676651*z - 27.999999999990845) + 575.99999999997908*helper_2*helper_3 + helper_5*(575.99999999996476*helper_2*y + 127.99999999998566*helper_2 + 935.99999999996112*helper_3*x + 359.99999999998289*helper_3 + 769.33333333327266*helper_4 - 34.666666666660646*x - 66.66666666665482*y))/helper_1;} break;
1483 case 38: {const auto helper_0 = z - 1;
1484const auto helper_1 = pow(helper_0, 3);
1485const auto helper_2 = pow(x, 3);
1486const auto helper_3 = pow(y, 2);
1487const auto helper_4 = x*y;
1488const auto helper_5 = pow(x, 2);
1489const auto helper_6 = helper_0*helper_5;
1490const auto helper_7 = helper_3*x;
1491const auto helper_8 = helper_5*y;
1492const auto helper_9 = pow(helper_0, 2);
1493const auto helper_10 = helper_9*x;
1494const auto helper_11 = 128*helper_3;
1495const auto helper_12 = helper_0*x;
1496const auto helper_13 = -helper_0;
1497result_0 = -y*(helper_1*(115.99999999999535*helper_10 - helper_11*helper_13 + helper_11 + 819.99999999997397*helper_12*y + 17.333333333327889*helper_12 - 96*helper_13*y + 215.99999999998295*helper_2 + 721.33333333332041*helper_4 + 265.33333333331666*helper_5 + 331.99999999997817*helper_6 + 703.9999999999792*helper_7 + 1483.9999999999329*helper_8 + 128*helper_9*y - 32*helper_9 - 98.666666666664426*x - 32*y - 32*z + 32) + helper_10*(703.99999999997999*helper_3 + 1417.3333333332678*helper_4 + 215.99999999998286*helper_5 + 1151.9999999999534*helper_7 + 791.99999999995782*helper_8 - 66.666666666655104*x - 98.666666666648055*y) + 575.99999999997499*helper_2*helper_3 + helper_6*y*(575.99999999997499*helper_4 + 791.99999999995816*x + 1151.9999999999548*y - 66.666666666666032))/helper_1;} break;
1498 case 39: {const auto helper_0 = z - 1;
1499const auto helper_1 = pow(helper_0, 3);
1500const auto helper_2 = pow(x, 3);
1501const auto helper_3 = pow(y, 2);
1502const auto helper_4 = x*y;
1503const auto helper_5 = pow(x, 2);
1504const auto helper_6 = helper_5*y;
1505const auto helper_7 = helper_3*x;
1506const auto helper_8 = pow(helper_0, 2);
1507const auto helper_9 = helper_8*x;
1508const auto helper_10 = helper_0*x;
1509result_0 = -y*(helper_0*helper_6*(3.5253884038130111e-12*helper_4 - 71.999999999993335*x + 4.8222935559909114e-12*y + 189.33333333333377) + helper_1*(140.00000000000563*helper_0*helper_5 + 224*helper_0*y + 128*helper_1 + 340.00000000000364*helper_10*y + 625.3333333333369*helper_10 - 71.999999999996845*helper_2 + 625.33333333333701*helper_4 + 329.33333333333928*helper_5 + 140.00000000001035*helper_6 + 1.2889525382263358e-12*helper_7 + 128*helper_8*y + 224*helper_8 + 340.0000000000025*helper_9 + 285.33333333333434*x + 96*y + 96*z - 96) + 3.5253884038130119e-12*helper_2*helper_3 + helper_9*(1.2350920599072932e-12*helper_3 + 329.33333333334446*helper_4 - 71.999999999996859*helper_5 - 71.999999999993307*helper_6 + 4.8459996474219971e-12*helper_7 + 189.33333333333309*x + 285.33333333333297*y))/helper_1;} break;
1510 case 40: {const auto helper_0 = z - 1;
1511const auto helper_1 = pow(helper_0, 3);
1512const auto helper_2 = pow(x, 3);
1513const auto helper_3 = pow(y, 2);
1514const auto helper_4 = pow(x, 2);
1515const auto helper_5 = x*y;
1516const auto helper_6 = helper_0*y;
1517const auto helper_7 = helper_3*x;
1518const auto helper_8 = helper_4*y;
1519const auto helper_9 = pow(helper_0, 2);
1520const auto helper_10 = helper_9*x;
1521const auto helper_11 = 128*helper_3;
1522result_0 = y*(helper_1*(helper_0*helper_11 + 819.99999999996737*helper_0*helper_4 + 686.66666666664776*helper_0*x + 128*helper_1 + 587.99999999998715*helper_10 + helper_11 + 359.99999999998033*helper_2 + 886.66666666663616*helper_4 + 1390.6666666666397*helper_5 + 1291.9999999999629*helper_6*x + 288*helper_6 + 703.99999999997669*helper_7 + 1971.9999999999143*helper_8 + 256*helper_9*y + 160*helper_9 + 98.666666666664241*x + 32*y + 32*z - 32) + helper_10*(703.99999999997726*helper_3 + 359.99999999998022*helper_4 + 2038.6666666665774*helper_5 + 1151.9999999999452*helper_7 + 935.99999999994998*helper_8 + 66.666666666676122*x + 98.666666666683128*y) + 575.99999999996953*helper_2*helper_3 + helper_4*helper_6*(575.99999999996965*helper_5 + 935.99999999995021*x + 1151.9999999999468*y + 66.666666666662707))/helper_1;} break;
1523 case 41: {const auto helper_0 = z - 1;
1524const auto helper_1 = pow(helper_0, 4);
1525const auto helper_2 = pow(x, 3);
1526const auto helper_3 = pow(y, 3);
1527const auto helper_4 = pow(helper_0, 3);
1528const auto helper_5 = pow(x, 2);
1529const auto helper_6 = pow(y, 2);
1530const auto helper_7 = pow(helper_0, 2);
1531const auto helper_8 = x*y;
1532result_0 = (1.0/9.0)*helper_8*(helper_0*helper_5*helper_6*(36864*x + 36864*y + 2047.9999999914537) + helper_1*(12025.679012339959*helper_0*x + 12025.679012340033*helper_0*y + 15075.555555551571*helper_5 + 15075.555555551618*helper_6 + 3094.1234567883371*helper_7 + 48605.234567883301*helper_8 + 2058.5349794176327*x + 2058.5349794184276*y + 806.97942386598902*z - 790.12345678793918) + 16384*helper_2*helper_3 + 6144*helper_4*(helper_2 + helper_3) + helper_4*(63203.555555542989*helper_5*y + 1251.5555555515905*helper_5 + 63203.555555543528*helper_6*x + 1251.5555555516553*helper_6 + 5358.0905349614422*helper_8 + 16.855967077799207*x + 16.855967078024477*y) + helper_7*helper_8*(26624*helper_5 + 26624*helper_6 + 84991.999999991414*helper_8 + 3299.5555555430519*x + 3299.5555555435408*y + 16.85596707808682))/helper_1;} break;
1533 case 42: {const auto helper_0 = z - 1;
1534const auto helper_1 = pow(helper_0, 4);
1535const auto helper_2 = pow(x, 3);
1536const auto helper_3 = pow(y, 3);
1537const auto helper_4 = pow(x, 2);
1538const auto helper_5 = pow(y, 2);
1539const auto helper_6 = pow(helper_0, 2);
1540const auto helper_7 = x*y;
1541result_0 = -1.0/3.0*helper_7*(-pow(helper_0, 3)*(-1536*helper_2 - 3072*helper_3 - 21745.777777773656*helper_4*y + 142.22222222345317*helper_4 - 26623.999999995944*helper_5*x + 1.3711252978073301e-9*helper_5 + 255.47325103481151*helper_7 + 10.534979424066927*x + 10.534979424000952*y) + helper_0*helper_4*helper_5*(16384*x + 18432*y - 2.8638240986032214e-9) + helper_1*(2251.0617283932293*helper_0*x + 3545.2839506153109*helper_0*y + 3313.7777777765414*helper_4 + 6143.9999999986112*helper_5 + 473.28395061666993*helper_6 + 15563.061728389077*helper_7 - 255.4732510308454*x - 113.25102880855223*y - 113.25102880744163*z + 102.71604938351415) + 8192*helper_2*helper_3 + helper_6*helper_7*(9728*helper_4 + 13312*helper_5 + 36863.999999997119*helper_7 - 142.22222222631518*x - 4.0598475070033286e-9*y - 10.534979423919497))/helper_1;} break;
1542 case 43: {const auto helper_0 = z - 1;
1543const auto helper_1 = pow(helper_0, 4);
1544const auto helper_2 = pow(x, 3);
1545const auto helper_3 = pow(y, 3);
1546const auto helper_4 = pow(helper_0, 3);
1547const auto helper_5 = pow(x, 2);
1548const auto helper_6 = pow(y, 2);
1549const auto helper_7 = pow(helper_0, 2);
1550const auto helper_8 = x*y;
1551result_0 = (1.0/9.0)*helper_8*(helper_0*helper_5*helper_6*(28672*x + 36864*y - 2048.0000000043624) + helper_1*(2070.1234567872852*helper_0*x + 3663.0123456756619*helper_0*y + 3811.555555553799*helper_5 + 9500.4444444421624*helper_6 + 306.56790123345525*helper_7 + 18738.567901225222*helper_8 - 1241.0205761349289*x - 1696.1316872463037*y - 444.57613168885479*z + 461.43209876689309) + 16384*helper_2*helper_3 + 2048*helper_2*helper_4 + 6144*helper_3*helper_4 + helper_4*(29411.555555549399*helper_5*y - 796.44444444619137*helper_5 + 43292.444444438144*helper_6*x - 1251.5555555577916*helper_6 - 4540.5761316966746*helper_8 + 16.855967077734263*x + 16.855967077820232*y) + helper_7*helper_8*(14336*helper_5 + 26624*helper_6 + 62463.999999995605*helper_8 - 2844.4444444505534*x - 3299.555555561858*y + 16.855967078029821))/helper_1;} break;
1552 case 44: {const auto helper_0 = z - 1;
1553const auto helper_1 = pow(helper_0, 4);
1554const auto helper_2 = pow(x, 3);
1555const auto helper_3 = pow(y, 3);
1556const auto helper_4 = pow(x, 2);
1557const auto helper_5 = pow(y, 2);
1558const auto helper_6 = pow(helper_0, 2);
1559const auto helper_7 = x*y;
1560result_0 = -1.0/3.0*helper_7*(-pow(helper_0, 3)*(-3072*helper_2 - 1536*helper_3 - 26623.999999994005*helper_4*y + 1.924947780734807e-9*helper_4 - 21745.777777772193*helper_5*x + 142.22222222400399*helper_5 + 255.47325103734102*helper_7 + 10.53497942410565*x + 10.534979424034256*y) + helper_0*helper_4*helper_5*(18432*x + 16384*y - 4.027424972913492e-9) + helper_1*(3545.2839506144855*helper_0*x + 2251.0617283924266*helper_0*y + 6143.9999999980637*helper_4 + 3313.7777777759848*helper_5 + 473.28395061639765*helper_6 + 15563.061728386569*helper_7 - 113.25102880963325*x - 255.47325103139207*y - 113.25102880771854*z + 102.71604938376535) + 8192*helper_2*helper_3 + helper_6*helper_7*(13312*helper_4 + 9728*helper_5 + 36863.999999995955*helper_7 - 5.94860988711331e-9*x - 142.22222222782062*y - 10.53497942391351))/helper_1;} break;
1561 case 45: {const auto helper_0 = z - 1;
1562const auto helper_1 = pow(helper_0, 4);
1563const auto helper_2 = pow(x, 3);
1564const auto helper_3 = pow(y, 3);
1565const auto helper_4 = pow(x, 2);
1566const auto helper_5 = pow(y, 2);
1567const auto helper_6 = pow(helper_0, 2);
1568const auto helper_7 = x*y;
1569result_0 = helper_7*(pow(helper_0, 3)*(768*helper_2 + 768*helper_3 + 9727.9999999979791*helper_4*y - 6.1979968271105581e-10*helper_4 + 9727.999999998061*helper_5*x - 6.421671959172466e-10*helper_5 + 13.004115223384176*helper_7 + 1.2510288064712043*x + 1.2510288064937174*y) + helper_0*helper_4*helper_5*(8192*x + 8192*y - 1.3871581695204463e-9) + helper_1*(923.75308641881668*helper_0*x + 923.7530864187919*helper_0*y + 1535.9999999993768*helper_4 + 1535.9999999993474*helper_5 + 155.75308641942962*helper_6 + 5787.7530864168211*helper_7 + 13.004115225294337*x + 13.004115225365545*y + 13.004115225890912*z - 11.75308641935116) + 4096*helper_2*helper_3 + helper_6*helper_7*(4864*helper_4 + 4864*helper_5 + 16383.999999998605*helper_7 - 2.0064709511915205e-9*x - 1.9449805921426893e-9*y + 1.2510288065536177))/helper_1;} break;
1570 case 46: {const auto helper_0 = z - 1;
1571const auto helper_1 = pow(helper_0, 4);
1572const auto helper_2 = pow(x, 3);
1573const auto helper_3 = pow(y, 3);
1574const auto helper_4 = pow(helper_0, 3);
1575const auto helper_5 = pow(x, 2);
1576const auto helper_6 = pow(y, 2);
1577const auto helper_7 = pow(helper_0, 2);
1578const auto helper_8 = x*y;
1579result_0 = -1.0/3.0*helper_8*(helper_0*helper_5*helper_6*(14336*x + 16384*y - 2.1477620221045935e-9) + helper_1*(1255.5061728380253*helper_0*x + 1525.7283950600849*helper_0*y + 2047.9999999990807*helper_5 + 2830.2222222211335*helper_6 + 231.50617283892814*helper_7 + 8693.7283950570782*helper_8 + 28.971193413960137*x + 171.19341563614236*y + 28.971193414812561*z - 39.506172838774567) + 8192*helper_2*helper_3 + 1024*helper_2*helper_4 + helper_4*(1536*helper_3 + 14335.999999996915*helper_5*y - 9.1456088820382406e-10*helper_5 + 17166.222222219159*helper_6*x + 142.2222222211559*helper_6 + 171.19341563314819*helper_8 - 10.534979424095377*x - 10.534979424056409*y) + helper_7*helper_8*(7168*helper_5 + 9728*helper_6 + 28671.999999997832*helper_8 - 3.063098827725273e-9*x + 142.22222221915206*y - 10.534979423951992))/helper_1;} break;
1580 case 47: {const auto helper_0 = z - 1;
1581const auto helper_1 = pow(helper_0, 4);
1582const auto helper_2 = pow(x, 3);
1583const auto helper_3 = pow(y, 3);
1584const auto helper_4 = pow(helper_0, 3);
1585const auto helper_5 = pow(x, 2);
1586const auto helper_6 = pow(y, 2);
1587const auto helper_7 = pow(helper_0, 2);
1588const auto helper_8 = x*y;
1589result_0 = (1.0/9.0)*helper_8*(helper_0*helper_5*helper_6*(36864*x + 28672*y - 2048.0000000076898) + helper_1*(3663.0123456735478*helper_0*x + 2070.1234567851761*helper_0*y + 9500.444444440649*helper_5 + 3811.5555555522233*helper_6 + 306.56790123284992*helper_7 + 18738.567901218332*helper_8 - 1696.1316872487014*x - 1241.0205761365805*y - 444.57613168937939*z + 461.43209876742009) + 16384*helper_2*helper_3 + 6144*helper_2*helper_4 + 2048*helper_3*helper_4 + helper_4*(43292.44444443292*helper_5*y - 1251.5555555593289*helper_5 + 29411.555555545008*helper_6*x - 796.44444444775002*helper_6 - 4540.576131703544*helper_8 + 16.855967077686142*x + 16.855967077748186*y) + helper_7*helper_8*(26624*helper_5 + 14336*helper_6 + 62463.999999992273*helper_8 - 3299.5555555670117*x - 2844.4444444550377*y + 16.855967078152545))/helper_1;} break;
1590 case 48: {const auto helper_0 = z - 1;
1591const auto helper_1 = pow(helper_0, 4);
1592const auto helper_2 = pow(x, 3);
1593const auto helper_3 = pow(y, 3);
1594const auto helper_4 = pow(helper_0, 3);
1595const auto helper_5 = pow(x, 2);
1596const auto helper_6 = pow(y, 2);
1597const auto helper_7 = pow(helper_0, 2);
1598const auto helper_8 = x*y;
1599result_0 = -1.0/3.0*helper_8*(helper_0*helper_5*helper_6*(16384*x + 14336*y - 2.6491751586101489e-9) + helper_1*(1525.7283950598596*helper_0*x + 1255.5061728376809*helper_0*y + 2830.2222222209771*helper_5 + 2047.9999999987861*helper_6 + 231.50617283886083*helper_7 + 8693.728395056085*helper_8 + 171.19341563579644*x + 28.971193413786857*y + 28.971193414763171*z - 39.506172838723835) + 8192*helper_2*helper_3 + 1024*helper_3*helper_4 + helper_4*(1536*helper_2 + 17166.222222218305*helper_5*y + 142.22222222098588*helper_5 + 14335.99999999634*helper_6*x - 1.193481842478691e-9*helper_6 + 171.19341563216366*helper_8 - 10.534979424097372*x - 10.534979424068986*y) + helper_7*helper_8*(9728*helper_5 + 7168*helper_6 + 28671.99999999733*helper_8 + 142.22222221833417*x - 3.6846818776678547e-9*y - 10.534979423919154))/helper_1;} break;
1600 case 49: {const auto helper_0 = z - 1;
1601const auto helper_1 = pow(helper_0, 4);
1602const auto helper_2 = pow(x, 3);
1603const auto helper_3 = pow(y, 3);
1604const auto helper_4 = pow(helper_0, 3);
1605const auto helper_5 = pow(x, 2);
1606const auto helper_6 = pow(y, 2);
1607const auto helper_7 = pow(helper_0, 2);
1608const auto helper_8 = x*y;
1609result_0 = (1.0/9.0)*helper_8*(helper_0*helper_5*helper_6*(28672*x + 28672*y + 2047.999999995792) + helper_1*(2923.4567901204132*helper_0*x + 2923.4567901202613*helper_0*y + 4380.4444444425371*helper_5 + 4380.4444444423707*helper_6 + 591.0123456778407*helper_7 + 16519.901234558711*helper_8 + 1148.3127571982359*x + 1148.3127571983266*y + 351.86831275555051*z - 335.01234567756643) + 16384*helper_2*helper_3 + 2048*helper_4*(helper_2 + helper_3) + helper_4*(27932.44444443829*helper_5*y + 796.44444444254816*helper_5 + 27932.444444438512*helper_6*x + 796.44444444241594*helper_6 + 3992.7572016367526*helper_8 + 16.855967077754439*x + 16.855967077830186*y) + helper_7*helper_8*(14336*helper_5 + 14336*helper_6 + 52223.999999995751*helper_8 + 2844.4444444383398*x + 2844.4444444384812*y + 16.855967078029561))/helper_1;} break;
1610 case 50: {const auto helper_0 = z - 1;
1611const auto helper_1 = pow(helper_0, 3);
1612const auto helper_2 = pow(x, 2);
1613const auto helper_3 = pow(y, 2);
1614const auto helper_4 = x*y;
1615const auto helper_5 = pow(helper_0, 2);
1616result_0 = helper_4*(helper_0*helper_4*(4.0018564492425365e-12*helper_4 + 7.1945522987985638e-12*x + 4.4064367490856549e-12*y + 431.99999999999972) + helper_1*(648.00000000000421*helper_0*x + 648.00000000000148*helper_0*y + 3.1926958495560281e-12*helper_2 + 4.0458029984311735e-13*helper_3 + 648.00000000000853*helper_4 + 648.00000000000114*helper_5 + 1080.0000000000048*x + 1080.0000000000014*y + 1080.0000000000005*z - 648.0) + 4.0018564492425348e-12*helper_2*helper_3 + helper_5*(7.1945522987985638e-12*helper_2*y + 3.1926958495560273e-12*helper_2 + 4.4064367490856452e-12*helper_3*x + 4.0458029984311962e-13*helper_3 + 1080.0000000000077*helper_4 + 432.00000000000006*x + 432.00000000000011*y))/helper_1;} break;
1617 case 51: {const auto helper_0 = z - 1;
1618const auto helper_1 = pow(helper_0, 3);
1619const auto helper_2 = pow(x, 2);
1620const auto helper_3 = pow(y, 2);
1621const auto helper_4 = x*y;
1622const auto helper_5 = pow(helper_0, 2);
1623const auto helper_6 = 1230.1874999999268*helper_2;
1624result_0 = -helper_4*(helper_0*helper_4*(1845.2812499998918*helper_4 + 3075.4687499998195*x + 3075.4687499998154*y + 34.171874999979863) + helper_1*(2101.5703124998695*helper_0*x + 2101.5703124998631*helper_0*y + 1230.1874999999222*helper_3 + 5177.0390624996844*helper_4 + 871.38281249994304*helper_5 + helper_6 + 2135.7421874998677*x + 2135.7421874998863*y + 905.55468749991326*z - 871.38281249993042) + 1845.2812499998913*helper_2*helper_3 + helper_5*(3075.468749999819*helper_2*y + 3075.4687499998104*helper_3*x + 1230.1874999999238*helper_3 + 5211.2109374996644*helper_4 + helper_6 + 34.171875000021245*x + 34.171875000043762*y))/helper_1;} break;
1625 case 52: {const auto helper_0 = z - 1;
1626const auto helper_1 = pow(helper_0, 3);
1627const auto helper_2 = pow(x, 2);
1628const auto helper_3 = pow(y, 2);
1629const auto helper_4 = x*y;
1630const auto helper_5 = pow(helper_0, 2);
1631result_0 = helper_4*(helper_0*helper_4*(1845.281249999915*helper_4 + 2460.3749999998581*x + 3075.4687499998486*y - 34.171875000005997) + helper_1*(973.89843749991439*helper_0*x + 1588.9921874999027*helper_0*y + 615.09374999994247*helper_2 + 1230.1874999999329*helper_3 + 4049.3671874997626*helper_4 + 358.80468749997215*helper_5 + 939.72656249992076*x + 1554.8203124999345*y + 324.63281249996101*z - 358.8046874999626) + 1845.2812499999147*helper_2*helper_3 + helper_5*(2460.3749999998572*helper_2*y + 615.09374999994213*helper_2 + 3075.468749999844*helper_3*x + 1230.1874999999336*helper_3 + 4015.1953124997603*helper_4 - 34.171874999974115*x - 34.171874999951342*y))/helper_1;} break;
1632 case 53: {const auto helper_0 = z - 1;
1633const auto helper_1 = pow(helper_0, 3);
1634const auto helper_2 = pow(x, 2);
1635const auto helper_3 = pow(y, 2);
1636const auto helper_4 = x*y;
1637const auto helper_5 = pow(helper_0, 2);
1638result_0 = helper_4*(helper_0*helper_4*(1845.2812499998768*helper_4 + 3075.4687499997972*x + 2460.3749999997967*y - 34.171875000029537) + helper_1*(1588.9921874998442*helper_0*x + 973.89843749984107*helper_0*y + 1230.1874999999191*helper_2 + 615.09374999991837*helper_3 + 4049.3671874996407*helper_4 + 358.80468749992531*helper_5 + 1554.8203124998308*x + 939.72656249985459*y + 324.63281249988682*z - 358.80468749991525) + 1845.2812499998765*helper_2*helper_3 + helper_5*(3075.4687499997958*helper_2*y + 1230.1874999999188*helper_2 + 2460.3749999997913*helper_3*x + 615.09374999991951*helper_3 + 4015.1953124996107*helper_4 - 34.171874999990038*x - 34.171874999967407*y))/helper_1;} break;
1639 case 54: {const auto helper_0 = z - 1;
1640const auto helper_1 = pow(helper_0, 3);
1641const auto helper_2 = pow(x, 2);
1642const auto helper_3 = pow(y, 2);
1643const auto helper_4 = x*y;
1644const auto helper_5 = pow(helper_0, 2);
1645result_0 = -helper_4*(helper_0*helper_4*(1845.2812499999038*helper_4 + 2460.3749999998417*x + 2460.3749999998345*y + 34.171874999984141) + helper_1*(871.38281249989211*helper_0*x + 871.38281249988279*helper_0*y + 615.09374999993713*helper_2 + 615.09374999992963*helper_3 + 3331.7578124997267*helper_4 + 256.28906249995532*helper_5 + 905.5546874998879*x + 905.55468749990371*y + 290.46093749993429*z - 256.28906249994702) + 1845.2812499999034*helper_2*helper_3 + helper_5*(2460.3749999998404*helper_2*y + 615.0937499999369*helper_2 + 2460.3749999998295*helper_3*x + 615.09374999993042*helper_3 + 3365.9296874997131*helper_4 + 34.171875000014467*x + 34.171875000037353*y))/helper_1;} break;
1646 default: assert(false);
1647}}
1648void pyramid_4_basis_grad_value_3d(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val){
1649
1650auto x=uv.col(0).array();
1651auto y=uv.col(1).array();
1652auto z=uv.col(2).array();
1653
1654val.resize(uv.rows(), uv.cols());
1655 Eigen::ArrayXd result_0(uv.rows());
1656switch(local_index){
1657 case 0: {{const auto helper_0 = z - 1;
1658const auto helper_1 = pow(helper_0, 4);
1659const auto helper_2 = pow(x, 3);
1660const auto helper_3 = pow(y, 3);
1661const auto helper_4 = pow(helper_0, 3);
1662const auto helper_5 = helper_4*y;
1663const auto helper_6 = pow(x, 2);
1664const auto helper_7 = helper_0*helper_6;
1665const auto helper_8 = pow(y, 2);
1666const auto helper_9 = x*y;
1667const auto helper_10 = pow(helper_0, 2);
1668const auto helper_11 = helper_10*x;
1669const auto helper_12 = helper_8*x;
1670const auto helper_13 = helper_6*y;
1671const auto helper_14 = helper_0*x;
1672result_0 = (1.0/9.0)*(helper_1*(3853.8566743821189*helper_0*helper_8 + 1889.4692001026508*helper_0*y + 2125.8497299380892*helper_10*y + 432*helper_10 + 1152*helper_11 + 16547.852237650692*helper_12 + 8736.020833332117*helper_13 + 7707.7133487642586*helper_14*y + 864*helper_14 + 384*helper_2 + 2912.0069444440232*helper_3 + 384*helper_4 + 432*helper_6 + 1152*helper_7 + 2369.4761445467752*helper_8 + 4738.9522890934195*helper_9 + 132*x + 397.61947016461062*y + 132*z - 123) + helper_11*helper_8*(8960*helper_6 + 4480*helper_8 + 21804.187499997504*helper_9 + 4908.2083333296277*x + 3272.1388888864544*y + 399.23894032920651) + 4096*helper_2*pow(y, 4) + helper_3*helper_7*(10240*x + 7680*y + 2604.1874999975062) + 800*helper_5*(4*helper_2 + helper_3) + helper_5*(14472.138888886442*helper_12 + 21708.208333329618*helper_13 + 2736.0208333321202*helper_6 + 912.00694444402552*helper_8 + 7147.0911779798998*helper_9 + 531.23894032921805*x + 265.61947016463466*y + 9))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1673const auto helper_1 = pow(helper_0, 4);
1674const auto helper_2 = pow(y, 3);
1675const auto helper_3 = pow(x, 3);
1676const auto helper_4 = pow(helper_0, 3);
1677const auto helper_5 = helper_4*x;
1678const auto helper_6 = pow(y, 2);
1679const auto helper_7 = helper_0*helper_6;
1680const auto helper_8 = pow(x, 2);
1681const auto helper_9 = x*y;
1682const auto helper_10 = pow(helper_0, 2);
1683const auto helper_11 = helper_10*y;
1684const auto helper_12 = helper_6*x;
1685const auto helper_13 = helper_8*y;
1686const auto helper_14 = helper_0*y;
1687result_0 = (1.0/9.0)*(helper_1*(3853.8566743821293*helper_0*helper_8 + 1889.4692001026508*helper_0*x + 2125.8497299380892*helper_10*x + 432*helper_10 + 1152*helper_11 + 8736.0208333320697*helper_12 + 16547.852237650692*helper_13 + 7707.7133487642377*helper_14*x + 864*helper_14 + 384*helper_2 + 2912.0069444440387*helper_3 + 384*helper_4 + 432*helper_6 + 1152*helper_7 + 2369.4761445467097*helper_8 + 4738.9522890935505*helper_9 + 397.61947016461062*x + 132*y + 132*z - 123) + helper_11*helper_8*(8960*helper_6 + 4480*helper_8 + 21804.187499997504*helper_9 + 3272.138888886418*x + 4908.2083333296823*y + 399.23894032920651) + 4096*helper_2*pow(x, 4) + helper_3*helper_7*(7680*x + 10240*y + 2604.1874999975062) + 800*helper_5*(4*helper_2 + helper_3) + helper_5*(21708.208333329661*helper_12 + 14472.138888886413*helper_13 + 2736.0208333320766*helper_6 + 912.00694444404007*helper_8 + 7147.0911779798998*helper_9 + 265.61947016460903*x + 531.23894032926933*y + 9))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
1688const auto helper_1 = pow(helper_0, 5);
1689const auto helper_2 = pow(x, 3);
1690const auto helper_3 = pow(y, 3);
1691const auto helper_4 = pow(x, 2);
1692const auto helper_5 = pow(y, 2);
1693const auto helper_6 = pow(helper_0, 2);
1694const auto helper_7 = x*y;
1695const auto helper_8 = pow(helper_0, 3);
1696const auto helper_9 = helper_5*x;
1697const auto helper_10 = helper_4*y;
1698const auto helper_11 = 864*helper_0;
1699const auto helper_12 = 1152*helper_6;
1700const auto helper_13 = 1152*helper_0;
1701result_0 = -1.0/9.0*(helper_0*helper_2*helper_3*(7680*x + 7680*y + 2604.1874999975062) - helper_1*(4251.6994598761785*helper_0*helper_7 + 3853.8566743821293*helper_10 + helper_11*x + helper_11*y + helper_12*x + helper_12*y + helper_13*helper_4 + helper_13*helper_5 + 384*helper_2 + 384*helper_3 + 432*helper_4 + 432*helper_5 + 432*helper_6 + 1889.4692001026508*helper_7 + 384*helper_8 + 3853.8566743821189*helper_9 + 132*x + 132*y + 132*z - 123) + helper_4*helper_5*helper_6*(4480*helper_4 + 4480*helper_5 + 14536.124999998334*helper_7 + 3272.138888886418*x + 3272.1388888864544*y + 399.23894032920651) + helper_7*helper_8*(7236.0694444432065*helper_10 + 800*helper_2 + 800*helper_3 + 912.00694444404007*helper_4 + 912.00694444402552*helper_5 + 3573.5455889899499*helper_7 + 7236.0694444432211*helper_9 + 265.61947016460903*x + 265.61947016463466*y + 9) + 4096*pow(x, 4)*pow(y, 4))/helper_1;val.col(2) = result_0; }} break;
1702 case 1: {{const auto helper_0 = z - 1;
1703const auto helper_1 = pow(helper_0, 4);
1704const auto helper_2 = pow(x, 3);
1705const auto helper_3 = pow(y, 4);
1706const auto helper_4 = pow(helper_0, 3);
1707const auto helper_5 = helper_4*y;
1708const auto helper_6 = pow(x, 2);
1709const auto helper_7 = pow(y, 3);
1710const auto helper_8 = pow(helper_0, 2);
1711const auto helper_9 = x*y;
1712const auto helper_10 = pow(y, 2);
1713const auto helper_11 = helper_10*x;
1714const auto helper_12 = helper_6*y;
1715const auto helper_13 = helper_0*y;
1716result_0 = (1.0/9.0)*(helper_0*helper_6*helper_7*(10240*x + 4608*y - 2604.1875000017458) + helper_1*(-54.212770062057935*helper_0*helper_10 - 130.59329989745899*helper_10 + 11.435570985267137*helper_11 + 863.97916666577692*helper_12 - 164.32831790206339*helper_13*x + 113.46225565830014*helper_13 + 384*helper_2 - 432*helper_6 - 4.0555555557750109*helper_7 + 45.842785493706288*helper_8*y - 733.0893775729121*helper_9 + 132*x + 133.61947016460527*y - 9) + helper_11*helper_8*(1408*helper_10 + 8960*helper_6 + 8915.8124999982501*helper_9 - 4908.2083333359642*x - 1936.2361111126527*y + 399.23894032922976) + 4096*helper_2*helper_3 + 3200*helper_2*helper_5 + 96*helper_3*helper_4 + helper_5*(-244.05555555577564*helper_10 + 1583.7638888873564*helper_11 + 5171.7916666640222*helper_12 - 2736.0208333342171*helper_6 - 2669.3254886855148*helper_9 + 531.23894032911903*x + 133.61947016455039*y - 9))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1717const auto helper_1 = pow(helper_0, 4);
1718const auto helper_2 = pow(x, 3);
1719const auto helper_3 = pow(y, 3);
1720const auto helper_4 = pow(helper_0, 3);
1721const auto helper_5 = pow(x, 2);
1722const auto helper_6 = pow(y, 2);
1723const auto helper_7 = pow(helper_0, 2);
1724const auto helper_8 = x*y;
1725result_0 = (1.0/9.0)*x*(helper_0*helper_5*helper_6*(7680*x + 6144*y - 2604.1875000017458) + helper_1*(-82.164158951031695*helper_0*x - 108.42554012411587*helper_0*y + 287.99305555525899*helper_5 - 12.166666667325034*helper_6 + 45.842785493706288*helper_7 + 11.435570985267137*helper_8 - 366.54468878645605*x - 261.18659979491798*y + 113.46225565830014*z + 20.157214506305138) + 4096*helper_2*helper_3 + 800*helper_2*helper_4 + 384*helper_3*helper_4 + helper_4*(3447.8611111093487*helper_5*y - 912.00694444473902*helper_5 + 2375.6458333310343*helper_6*x - 732.16666666732692*helper_6 - 2669.3254886855148*helper_8 + 265.61947016455952*x + 267.23894032910079*y - 9) + helper_7*helper_8*(4480*helper_5 + 2816*helper_6 + 8915.8124999982501*helper_8 - 3272.1388888906431*x - 2904.3541666689789*y + 399.23894032922976))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
1726const auto helper_1 = pow(helper_0, 5);
1727const auto helper_2 = pow(x, 3);
1728const auto helper_3 = pow(y, 3);
1729const auto helper_4 = pow(x, 2);
1730const auto helper_5 = pow(y, 2);
1731const auto helper_6 = x*y;
1732result_0 = -1.0/9.0*helper_6*(pow(helper_0, 3)*(800*helper_2 + 96*helper_3 + 1723.9305555546744*helper_4*y - 912.00694444473902*helper_4 + 791.88194444367821*helper_5*x - 244.05555555577564*helper_5 - 1334.6627443427574*helper_6 + 265.61947016455952*x + 133.61947016455039*y - 9) + pow(helper_0, 2)*helper_6*(4480*helper_4 + 1408*helper_5 + 5943.8749999988331*helper_6 - 3272.1388888906431*x - 1936.2361111126527*y + 399.23894032922976) + helper_0*helper_4*helper_5*(7680*x + 4608*y - 2604.1875000017458) + helper_1*(82.164158951031695*x + 54.212770062057935*y - 91.685570987412575*z - 21.776684670887562) + 4096*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
1733 case 2: {{const auto helper_0 = z - 1;
1734const auto helper_1 = pow(helper_0, 4);
1735const auto helper_2 = pow(x, 3);
1736const auto helper_3 = pow(y, 3);
1737const auto helper_4 = pow(helper_0, 3);
1738const auto helper_5 = pow(x, 2);
1739const auto helper_6 = pow(y, 2);
1740const auto helper_7 = pow(helper_0, 2);
1741const auto helper_8 = x*y;
1742result_0 = (1.0/9.0)*y*(helper_0*helper_5*helper_6*(6144*x + 4608*y + 2604.1874999992497) + helper_1*(1067.9077932094724*helper_0*x + 533.95389660472426*helper_0*y + 1164.1666666663009*helper_5 + 388.05555555542168*helper_6 + 241.89834104930071*helper_7 + 3708.1439043198297*helper_8 + 1203.1467335386492*x + 601.57336676933107*y + 357.51781121387643*z - 223.89834104928431) + 4096*helper_2*helper_3 + 96*helper_4*(4*helper_2 + helper_3) + helper_4*(6072.3541666655447*helper_5*y + 732.1666666663026*helper_5 + 4048.2361111103787*helper_6*x + 244.05555555542446*helper_6 + 3139.3828446490188*helper_8 + 267.23894032917667*x + 133.61947016459976*y + 9) + helper_7*helper_8*(2816*helper_5 + 1408*helper_6 + 9516.1874999992433*helper_8 + 2904.3541666655528*x + 1936.236111110378*y + 399.23894032918707))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1743const auto helper_1 = pow(helper_0, 4);
1744const auto helper_2 = pow(x, 3);
1745const auto helper_3 = pow(y, 3);
1746const auto helper_4 = pow(helper_0, 3);
1747const auto helper_5 = pow(x, 2);
1748const auto helper_6 = pow(y, 2);
1749const auto helper_7 = pow(helper_0, 2);
1750const auto helper_8 = x*y;
1751result_0 = (1.0/9.0)*x*(helper_0*helper_5*helper_6*(4608*x + 6144*y + 2604.1874999992497) + helper_1*(533.9538966047362*helper_0*x + 1067.9077932094485*helper_0*y + 388.05555555543361*helper_5 + 1164.166666666265*helper_6 + 241.89834104930071*helper_7 + 3708.1439043198297*helper_8 + 601.57336676932459*x + 1203.1467335386621*y + 357.51781121387643*z - 223.89834104928431) + 4096*helper_2*helper_3 + 96*helper_4*(helper_2 + 4*helper_3) + helper_4*(4048.2361111103628*helper_5*y + 244.05555555543421*helper_5 + 6072.3541666655683*helper_6*x + 732.1666666662735*helper_6 + 3139.3828446490188*helper_8 + 133.61947016458834*x + 267.23894032919952*y + 9) + helper_7*helper_8*(1408*helper_5 + 2816*helper_6 + 9516.1874999992433*helper_8 + 1936.2361111103687*x + 2904.3541666655674*y + 399.23894032918707))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
1752const auto helper_1 = pow(helper_0, 5);
1753const auto helper_2 = pow(x, 3);
1754const auto helper_3 = pow(y, 3);
1755const auto helper_4 = pow(x, 2);
1756const auto helper_5 = pow(y, 2);
1757const auto helper_6 = x*y;
1758result_0 = -1.0/9.0*helper_6*(pow(helper_0, 3)*(96*helper_2 + 96*helper_3 + 2024.1180555551814*helper_4*y + 244.05555555543421*helper_4 + 2024.1180555551894*helper_5*x + 244.05555555542446*helper_5 + 1569.6914223245094*helper_6 + 133.61947016458834*x + 133.61947016459976*y + 9) + pow(helper_0, 2)*helper_6*(1408*helper_4 + 1408*helper_5 + 6344.1249999994961*helper_6 + 1936.2361111103687*x + 1936.236111110378*y + 399.23894032918707) + helper_0*helper_4*helper_5*(4608*x + 4608*y + 2604.1874999992497) - helper_1*(533.9538966047362*x + 533.95389660472426*y + 483.79668209860142*z - 126.27887088472499) + 4096*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
1759 case 3: {{const auto helper_0 = z - 1;
1760const auto helper_1 = pow(helper_0, 4);
1761const auto helper_2 = pow(x, 3);
1762const auto helper_3 = pow(y, 3);
1763const auto helper_4 = pow(helper_0, 3);
1764const auto helper_5 = pow(x, 2);
1765const auto helper_6 = pow(y, 2);
1766const auto helper_7 = pow(helper_0, 2);
1767const auto helper_8 = x*y;
1768result_0 = (1.0/9.0)*y*(helper_0*helper_5*helper_6*(6144*x + 7680*y - 2604.1875000006244) - helper_1*(108.42554012371353*helper_0*x + 82.164158950791247*helper_0*y + 12.166666666870466*helper_5 - 287.99305555544095*helper_6 - 45.842785493765184*helper_7 - 11.435570986765912*helper_8 + 261.18659979455492*x + 366.54468878620833*y - 113.46225565834264*z - 20.157214506255869) + 4096*helper_2*helper_3 + 384*helper_2*helper_4 + 800*helper_3*helper_4 + helper_4*(2375.6458333324986*helper_5*y - 732.16666666686899*helper_5 + 3447.8611111105051*helper_6*x - 912.00694444455678*helper_6 - 2669.3254886840323*helper_8 + 267.23894032913978*x + 265.61947016456918*y - 9) + helper_7*helper_8*(2816*helper_5 + 4480*helper_6 + 8915.8124999993688*helper_8 - 2904.3541666674951*x - 3272.1388888894958*y + 399.23894032919367))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1769const auto helper_1 = pow(helper_0, 4);
1770const auto helper_2 = pow(x, 4);
1771const auto helper_3 = pow(y, 3);
1772const auto helper_4 = pow(helper_0, 3);
1773const auto helper_5 = helper_4*x;
1774const auto helper_6 = pow(x, 3);
1775const auto helper_7 = pow(y, 2);
1776const auto helper_8 = pow(helper_0, 2);
1777const auto helper_9 = x*y;
1778const auto helper_10 = pow(x, 2);
1779const auto helper_11 = helper_10*y;
1780const auto helper_12 = helper_7*x;
1781result_0 = (1.0/9.0)*(helper_0*helper_6*helper_7*(4608*x + 10240*y - 2604.1875000006244) - helper_1*(54.212770061856766*helper_0*helper_10 + 164.32831790158249*helper_0*helper_9 - 113.46225565834264*helper_0*x + 130.59329989727746*helper_10 - 11.435570986765912*helper_11 - 863.97916666632295*helper_12 - 384*helper_3 + 4.0555555556234886*helper_6 + 432*helper_7 - 45.842785493765184*helper_8*x + 733.08937757241665*helper_9 - 133.61947016459851*x - 132*y + 9) + helper_11*helper_8*(1408*helper_10 + 8960*helper_7 + 8915.8124999993688*helper_9 - 1936.2361111116631*x - 4908.2083333342443*y + 399.23894032919367) + 4096*helper_2*helper_3 + 96*helper_2*helper_4 + 3200*helper_3*helper_5 + helper_5*(-244.05555555562299*helper_10 + 1583.7638888883325*helper_11 + 5171.7916666657575*helper_12 - 2736.02083333367*helper_7 - 2669.3254886840323*helper_9 + 133.61947016456989*x + 531.23894032913836*y - 9))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
1782const auto helper_1 = pow(helper_0, 5);
1783const auto helper_2 = pow(x, 3);
1784const auto helper_3 = pow(y, 3);
1785const auto helper_4 = pow(x, 2);
1786const auto helper_5 = pow(y, 2);
1787const auto helper_6 = x*y;
1788result_0 = -1.0/9.0*helper_6*(pow(helper_0, 3)*(96*helper_2 + 800*helper_3 + 791.88194444416627*helper_4*y - 244.05555555562299*helper_4 + 1723.9305555552526*helper_5*x - 912.00694444455678*helper_5 - 1334.6627443420161*helper_6 + 133.61947016456989*x + 265.61947016456918*y - 9) + pow(helper_0, 2)*helper_6*(1408*helper_4 + 4480*helper_5 + 5943.8749999995798*helper_6 - 1936.2361111116631*x - 3272.1388888894958*y + 399.23894032919367) + helper_0*helper_4*helper_5*(4608*x + 7680*y - 2604.1875000006244) + helper_1*(54.212770061856766*x + 82.164158950791247*y - 91.685570987530369*z - 21.776684670812273) + 4096*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
1789 case 4: {{const auto helper_0 = z - 1;
1790const auto helper_1 = pow(helper_0, 3);
1791const auto helper_2 = pow(x, 2);
1792const auto helper_3 = pow(y, 2);
1793const auto helper_4 = x*y;
1794const auto helper_5 = pow(helper_0, 2);
1795const auto helper_6 = 2.2522213924094442e-13*helper_2 - 7.4289286606685855e-14*helper_3;
1796result_0 = y*(helper_0*helper_4*(7.8213085641508323e-14*helper_4 + 3.0343522488245285e-13*x - 9.643651611903285e-14*y + 41.180555555552161) + helper_1*(70.208333333328468*helper_0*x + 35.104166666664099*helper_0*y + 70.208333333328369*helper_4 + 35.104166666664163*helper_5 + helper_6 + 111.38888888888073*x + 55.69444444444018*y + 55.694444444440236*z - 35.104166666664085) + 7.8213085641508285e-14*helper_2*helper_3 + helper_5*(3.034352248824528e-13*helper_2*y - 9.6436516119032964e-14*helper_3*x + 111.38888888888053*helper_4 + helper_6 + 41.180555555552232*x + 20.590277777776105*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1797const auto helper_1 = pow(helper_0, 3);
1798const auto helper_2 = pow(x, 2);
1799const auto helper_3 = pow(y, 2);
1800const auto helper_4 = x*y;
1801const auto helper_5 = pow(helper_0, 2);
1802const auto helper_6 = 7.5074046413648145e-14*helper_2 - 2.2286785982005757e-13*helper_3;
1803result_0 = x*(helper_0*helper_4*(7.8213085641508323e-14*helper_4 + 2.0229014992163524e-13*x - 1.4465477417854927e-13*y + 41.180555555552161) + helper_1*(35.104166666664234*helper_0*x + 70.208333333328198*helper_0*y + 70.208333333328369*helper_4 + 35.104166666664163*helper_5 + helper_6 + 55.694444444440364*x + 111.38888888888036*y + 55.694444444440236*z - 35.104166666664085) + 7.8213085641508285e-14*helper_2*helper_3 + helper_5*(2.0229014992163519e-13*helper_2*y - 1.4465477417854945e-13*helper_3*x + 111.38888888888053*helper_4 + helper_6 + 20.590277777776116*x + 41.18055555555221*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
1804const auto helper_1 = pow(helper_0, 4);
1805const auto helper_2 = pow(x, 2);
1806const auto helper_3 = pow(y, 2);
1807const auto helper_4 = x*y;
1808const auto helper_5 = pow(helper_0, 2);
1809const auto helper_6 = helper_3*x;
1810const auto helper_7 = helper_2*y;
1811result_0 = -1.0/3.0*(helper_0*helper_2*helper_3*(1.5642617128301665e-13*helper_4 + 6.0687044976490569e-13*x - 2.8930954835709854e-13*y + 123.54166666665648) - helper_1*(128*pow(helper_0, 3) + 210.62499999998499*helper_0*helper_4 + 167.0833333333207*helper_4 + 240*helper_5 + 105.3124999999923*helper_6 + 105.3124999999927*helper_7 + 140*z - 115) + helper_4*helper_5*(2.2522213924094442e-13*helper_2 - 2.2286785982005757e-13*helper_3 + 167.08333333332081*helper_4 - 1.4465477417854945e-13*helper_6 + 3.034352248824528e-13*helper_7 + 61.770833333328348*x + 61.770833333328312*y) + 2.3463925692452487e-13*pow(x, 3)*pow(y, 3))/helper_1;val.col(2) = result_0; }} break;
1812 case 5: {{const auto helper_0 = z - 1;
1813const auto helper_1 = pow(helper_0, 4);
1814const auto helper_2 = pow(x, 3);
1815const auto helper_3 = pow(y, 4);
1816const auto helper_4 = pow(helper_0, 3);
1817const auto helper_5 = helper_4*y;
1818const auto helper_6 = pow(x, 2);
1819const auto helper_7 = pow(y, 3);
1820const auto helper_8 = pow(y, 2);
1821const auto helper_9 = x*y;
1822const auto helper_10 = pow(helper_0, 2);
1823const auto helper_11 = helper_10*x;
1824const auto helper_12 = helper_8*x;
1825const auto helper_13 = helper_6*y;
1826const auto helper_14 = helper_0*x;
1827const auto helper_15 = -helper_0;
1828result_0 = -1.0/9.0*(helper_0*helper_6*helper_7*(40960*x + 27648*y + 4367.9999999909505) + helper_1*(1349.9670781885347*helper_0*y + 2401.3086419746774*helper_10*y + 288*helper_10 + 2304*helper_11 + 38431.950617271039*helper_12 + 26618.666666662204*helper_13 + 16148.395061724184*helper_14*y + 1152*helper_14 - 3456*helper_15*helper_6 - 5175.0864197510464*helper_15*helper_8 + 1536*helper_2 + 384*helper_4 + 864*helper_6 + 4693.7777777763404*helper_7 + 1915.7448559651768*helper_8 + 6045.7119341519319*helper_9 + 96*x + 148.65843621400046*y + 48*z - 48) + helper_11*helper_8*(35840*helper_6 + 13312*helper_8 + 73487.999999990934*helper_9 + 8522.6666666531783*x + 4619.5555555469209*y + 201.31687242799595) + 16384*helper_2*helper_3 + 12800*helper_2*helper_5 + 1536*helper_3*helper_4 + helper_5*(37899.555555546882*helper_12 + 69002.666666653138*helper_13 + 5018.6666666622295*helper_6 + 853.77777777634219*helper_8 + 9513.2674896990102*helper_9 + 297.31687242788729*x + 100.65843621400738*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1829const auto helper_1 = pow(helper_0, 4);
1830const auto helper_2 = pow(x, 3);
1831const auto helper_3 = pow(y, 3);
1832const auto helper_4 = pow(helper_0, 3);
1833const auto helper_5 = pow(x, 2);
1834const auto helper_6 = pow(y, 2);
1835const auto helper_7 = pow(helper_0, 2);
1836const auto helper_8 = x*y;
1837result_0 = -1.0/9.0*x*(helper_0*helper_5*helper_6*(30720*x + 36864*y + 4367.9999999909505) + helper_1*(8074.1975308620922*helper_0*x + 10350.172839502093*helper_0*y + 8872.8888888874026*helper_5 + 14081.333333329019*helper_6 + 2401.3086419746774*helper_7 + 38431.950617271039*helper_8 + 3022.855967075966*x + 3831.4897119303537*y + 1349.9670781885347*z - 1201.3086419745343) + 16384*helper_2*helper_3 + 3200*helper_2*helper_4 + 6144*helper_3*helper_4 + helper_4*(46001.777777768752*helper_5*y + 1672.8888888874098*helper_5 + 56849.333333320319*helper_6*x + 2561.3333333290266*helper_6 + 9513.2674896990102*helper_8 + 148.65843621394365*x + 201.31687242801476*y) + helper_7*helper_8*(17920*helper_5 + 26624*helper_6 + 73487.999999990934*helper_8 + 5681.7777777687852*x + 6929.3333333203809*y + 201.31687242799595))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
1838const auto helper_1 = pow(helper_0, 5);
1839const auto helper_2 = pow(x, 3);
1840const auto helper_3 = pow(x, 2);
1841const auto helper_4 = pow(y, 3);
1842const auto helper_5 = pow(helper_0, 2);
1843const auto helper_6 = x*y;
1844const auto helper_7 = pow(y, 2);
1845const auto helper_8 = helper_7*x;
1846result_0 = (1.0/9.0)*x*(pow(helper_0, 3)*y*(3200*helper_2 + 23000.888888884376*helper_3*y + 1672.8888888874098*helper_3 + 1536*helper_4 + 4756.6337448495051*helper_6 + 853.77777777634219*helper_7 + 18949.777777773441*helper_8 + 148.65843621394365*x + 100.65843621400738*y) + helper_0*helper_3*helper_4*(30720*x + 27648*y + 4367.9999999909505) - helper_1*(2304*helper_0*x + 4802.6172839493547*helper_0*y + 1152*helper_3 + 1152*helper_5 + 8074.1975308620922*helper_6 + 5175.0864197510464*helper_7 + 576*x + 1349.9670781885347*y + 576*z - 528) + 16384*helper_2*pow(y, 4) + helper_5*helper_8*(17920*helper_3 + 48991.999999993961*helper_6 + 13312*helper_7 + 5681.7777777687852*x + 4619.5555555469209*y + 201.31687242799595))/helper_1;val.col(2) = result_0; }} break;
1847 case 6: {{const auto helper_0 = z - 1;
1848const auto helper_1 = pow(helper_0, 4);
1849const auto helper_2 = pow(x, 3);
1850const auto helper_3 = pow(helper_0, 3)*y;
1851const auto helper_4 = pow(y, 3);
1852const auto helper_5 = pow(x, 2);
1853const auto helper_6 = helper_0*helper_5;
1854const auto helper_7 = pow(y, 2);
1855const auto helper_8 = x*y;
1856const auto helper_9 = pow(helper_0, 2);
1857const auto helper_10 = helper_9*x;
1858const auto helper_11 = helper_7*x;
1859const auto helper_12 = helper_5*y;
1860const auto helper_13 = helper_0*x;
1861result_0 = (1.0/3.0)*(helper_1*(619.59876543118867*helper_0*helper_7 - 203.70164609089733*helper_0*y + 384*helper_10 + 10199.197530858255*helper_11 + 9599.99999999791*helper_12 + 3471.4197530844322*helper_13*y - 96*helper_13 + 768*helper_2 + 867.88888888826409*helper_4 + 1152*helper_6 - 247.8127572025231*helper_7 - 407.40329218319278*helper_8 + 135.70987654290826*helper_9*y - 48*helper_9 - 24*x - 39.411522633753684*y - 12*z + 12) + helper_10*helper_7*(17920*helper_5 + 4864*helper_7 + 30719.999999995787*helper_8 - 6.2886962670009596e-9*x - 184.22222222614789*y - 54.823045267491921) + 6400*helper_2*helper_3 + 8192*helper_2*pow(y, 4) - helper_3*(-11975.777777773848*helper_11 - 26879.999999993681*helper_12 - 384*helper_4 + 2.0792994391705716e-9*helper_5 + 92.111111111735795*helper_7 + 495.62551440925688*helper_8 + 78.823045267602694*x + 27.411522633785371*y) + helper_4*helper_6*(20480*x + 12288*y - 4.2095159956250059e-9))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1862const auto helper_1 = pow(helper_0, 4);
1863const auto helper_2 = pow(x, 3);
1864const auto helper_3 = pow(y, 3);
1865const auto helper_4 = pow(helper_0, 3);
1866const auto helper_5 = pow(x, 2);
1867const auto helper_6 = pow(y, 2);
1868const auto helper_7 = pow(helper_0, 2);
1869const auto helper_8 = x*y;
1870result_0 = (1.0/3.0)*x*(helper_0*helper_5*helper_6*(15360*x + 16384*y - 4.2095159956250059e-9) + helper_1*(1735.7098765422161*helper_0*x + 1239.1975308623773*helper_0*y + 3199.9999999993033*helper_5 + 2603.6666666647925*helper_6 + 135.70987654290826*helper_7 + 10199.197530858255*helper_8 - 203.70164609159639*x - 495.6255144050462*y - 203.70164609089733*z + 164.29012345714364) + 8192*helper_2*helper_3 + 1600*helper_2*helper_4 - helper_4*(-1536*helper_3 - 17919.999999995787*helper_5*y + 6.9309981305685722e-10*helper_5 - 17963.666666660771*helper_6*x + 276.33333333520739*helper_6 + 495.62551440925688*helper_8 + 39.411522633801347*x + 54.823045267570741*y) + helper_7*helper_8*(8960*helper_5 + 9728*helper_6 + 30719.999999995787*helper_8 - 4.1924641780006398e-9*x - 276.33333333922184*y - 54.823045267491921))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
1871const auto helper_1 = pow(helper_0, 5);
1872const auto helper_2 = pow(x, 3);
1873const auto helper_3 = pow(x, 2);
1874const auto helper_4 = pow(y, 3);
1875const auto helper_5 = x*y;
1876const auto helper_6 = pow(y, 2);
1877const auto helper_7 = helper_6*x;
1878result_0 = -1.0/3.0*x*(-pow(helper_0, 3)*y*(-1600*helper_2 - 8959.9999999978936*helper_3*y + 6.9309981305685722e-10*helper_3 - 384*helper_4 + 247.81275720462844*helper_5 + 92.111111111735795*helper_6 - 5987.8888888869242*helper_7 + 39.411522633801347*x + 27.411522633785371*y) + pow(helper_0, 2)*helper_7*(8960*helper_3 + 20479.999999997191*helper_5 + 4864*helper_6 - 4.1924641780006398e-9*x - 184.22222222614789*y - 54.823045267491921) + helper_0*helper_3*helper_4*(15360*x + 12288*y - 4.2095159956250059e-9) - helper_1*(384*helper_0*x + 271.41975308581652*helper_0*y + 384*helper_3 + 1735.7098765422161*helper_5 + 619.59876543118867*helper_6 - 48*x - 203.70164609089733*y - 96*z + 84) + 8192*helper_2*pow(y, 4))/helper_1;val.col(2) = result_0; }} break;
1879 case 7: {{const auto helper_0 = z - 1;
1880const auto helper_1 = pow(helper_0, 4);
1881const auto helper_2 = pow(x, 3);
1882const auto helper_3 = pow(y, 3);
1883const auto helper_4 = pow(helper_0, 3)*y;
1884const auto helper_5 = pow(x, 2);
1885const auto helper_6 = helper_0*helper_5;
1886const auto helper_7 = pow(helper_0, 2);
1887const auto helper_8 = x*y;
1888const auto helper_9 = pow(y, 2);
1889const auto helper_10 = helper_9*x;
1890const auto helper_11 = helper_5*y;
1891result_0 = -1.0/9.0*(-helper_1*(-94.197530862606001*helper_0*helper_9 - 1311.0617283913703*helper_0*x*y + 576*helper_0*x + 322.92181070024111*helper_0*y - 7946.6172839397668*helper_10 - 11781.333333329427*helper_11 - 1536*helper_2 - 677.77777777670281*helper_3 + 864*helper_5 - 1152*helper_6 + 71.580246914135429*helper_7*y + 925.14403292339*helper_9 + 3991.6213991809232*x*y - 96*x - 148.65843621396692*y - 48*z + 48) + helper_10*helper_7*(35840*helper_5 + 49391.999999992193*helper_8 + 7168*helper_9 - 8522.6666666783385*x - 4116.4444444515329*y + 201.31687242799595) + 16384*helper_2*pow(y, 4) + helper_3*helper_6*(40960*x + 21504*y - 4368.000000007788) + 512*helper_4*(25*helper_2 + helper_3) + helper_4*(13803.555555548481*helper_10 + 38517.333333321607*helper_11 - 5018.6666666705532*helper_5 - 7532.0658436322756*helper_8 - 602.22222222329856*helper_9 + 297.31687242766816*x + 100.65843621383591*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1892const auto helper_1 = pow(helper_0, 4);
1893const auto helper_2 = pow(x, 3);
1894const auto helper_3 = pow(y, 3);
1895const auto helper_4 = pow(x, 2);
1896const auto helper_5 = pow(y, 2);
1897const auto helper_6 = pow(helper_0, 3);
1898const auto helper_7 = pow(helper_0, 2);
1899const auto helper_8 = x*y;
1900result_0 = -1.0/9.0*x*(helper_0*helper_4*helper_5*(30720*x + 28672*y - 4368.000000007788) + helper_1*(655.53086419568513*helper_0*x + 188.395061725212*helper_0*y + 3927.1111111098085*helper_4 + 2033.3333333301084*helper_5 - 71.580246914135429*helper_7 + 7946.6172839397668*helper_8 - 1995.8106995904616*x - 1850.28806584678*y - 322.92181070024111*z + 471.58024691420803) + 16384*helper_2*helper_3 + 128*helper_6*(25*helper_2 + 16*helper_3) + helper_6*(25678.222222214405*helper_4*y - 1672.8888888901843*helper_4 + 20705.33333332272*helper_5*x - 1806.6666666698954*helper_5 - 7532.0658436322756*helper_8 + 148.65843621383408*x + 201.31687242767183*y) + helper_7*helper_8*(17920*helper_4 + 14336*helper_5 + 49391.999999992193*helper_8 - 5681.7777777855581*x - 6174.666666677299*y + 201.31687242799595))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
1901const auto helper_1 = pow(helper_0, 5);
1902const auto helper_2 = pow(x, 3);
1903const auto helper_3 = pow(x, 2);
1904const auto helper_4 = pow(y, 3);
1905const auto helper_5 = x*y;
1906const auto helper_6 = pow(y, 2);
1907const auto helper_7 = helper_6*x;
1908result_0 = (1.0/9.0)*x*(pow(helper_0, 3)*y*(3200*helper_2 + 12839.111111107202*helper_3*y - 1672.8888888901843*helper_3 + 512*helper_4 - 3766.0329218161378*helper_5 - 602.22222222329856*helper_6 + 6901.7777777742403*helper_7 + 148.65843621383408*x + 100.65843621383591*y) + pow(helper_0, 2)*helper_7*(17920*helper_3 + 32927.99999999479*helper_5 + 7168*helper_6 - 5681.7777777855581*x - 4116.4444444515329*y + 201.31687242799595) + helper_0*helper_3*helper_4*(30720*x + 21504*y - 4368.000000007788) - helper_1*(-143.16049382827086*helper_0*y + 384*helper_3 + 655.53086419568513*helper_5 + 94.197530862606001*helper_6 - 288*x - 322.92181070024111*y + 48) + 16384*helper_2*pow(y, 4))/helper_1;val.col(2) = result_0; }} break;
1909 case 8: {{const auto helper_0 = z - 1;
1910const auto helper_1 = pow(helper_0, 4);
1911const auto helper_2 = pow(x, 3);
1912const auto helper_3 = pow(y, 3);
1913const auto helper_4 = pow(helper_0, 3);
1914const auto helper_5 = pow(x, 2);
1915const auto helper_6 = pow(y, 2);
1916const auto helper_7 = pow(helper_0, 2);
1917const auto helper_8 = x*y;
1918result_0 = -1.0/9.0*y*(helper_0*helper_5*helper_6*(36864*x + 18432*y - 4368.0000000052496) + helper_1*(619.50617283698955*helper_0*x + 132.41975308533338*helper_0*y + 4350.666666664004*helper_5 + 504.88888888815796*helper_6 + 11.530864197146977*helper_7 + 4605.2839506099253*helper_8 - 1291.1769547352062*x - 438.9218107006688*y - 79.810699588936345*z + 132.46913580290965) + 16384*helper_2*helper_3 + 384*helper_4*(16*helper_2 + helper_3) + helper_4*(23022.666666658719*helper_5*y - 2561.3333333359778*helper_5 + 9617.7777777730589*helper_6*x - 359.11111111183618*helper_6 - 4345.3991769620934*helper_8 + 201.31687242772551*x + 52.658436213853271*y) + helper_7*helper_8*(26624*helper_5 + 5632*helper_6 + 37103.999999994725*helper_8 - 6929.3333333412302*x - 3054.2222222269775*y + 201.31687242800962))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1919const auto helper_1 = pow(helper_0, 4);
1920const auto helper_2 = pow(x, 3);
1921const auto helper_3 = pow(y, 3);
1922const auto helper_4 = pow(helper_0, 3);
1923const auto helper_5 = pow(x, 2);
1924const auto helper_6 = pow(y, 2);
1925const auto helper_7 = pow(helper_0, 2);
1926const auto helper_8 = x*y;
1927result_0 = -1.0/9.0*x*(helper_0*helper_5*helper_6*(27648*x + 24576*y - 4368.0000000052496) + helper_1*(309.75308641849477*helper_0*x + 264.83950617066677*helper_0*y + 1450.2222222213347*helper_5 + 1514.6666666644737*helper_6 + 11.530864197146977*helper_7 + 4605.2839506099253*helper_8 - 645.5884773676031*x - 877.8436214013376*y - 79.810699588936345*z + 132.46913580290965) + 16384*helper_2*helper_3 + 1536*helper_4*(helper_2 + helper_3) + helper_4*(15348.444444439147*helper_5*y - 853.77777777865936*helper_5 + 14426.666666659588*helper_6*x - 1077.3333333355085*helper_6 - 4345.3991769620934*helper_8 + 100.65843621386276*x + 105.31687242770654*y) + helper_7*helper_8*(13312*helper_5 + 11264*helper_6 + 37103.999999994725*helper_8 - 4619.5555555608198*x - 4581.3333333404662*y + 201.31687242800962))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
1928const auto helper_1 = pow(helper_0, 5);
1929const auto helper_2 = pow(x, 3);
1930const auto helper_3 = pow(y, 3);
1931const auto helper_4 = pow(x, 2);
1932const auto helper_5 = pow(y, 2);
1933const auto helper_6 = x*y;
1934result_0 = (1.0/9.0)*helper_6*(pow(helper_0, 3)*(1536*helper_2 + 384*helper_3 + 7674.2222222195733*helper_4*y - 853.77777777865936*helper_4 + 4808.8888888865295*helper_5*x - 359.11111111183618*helper_5 - 2172.6995884810467*helper_6 + 100.65843621386276*x + 52.658436213853271*y) + pow(helper_0, 2)*helper_6*(13312*helper_4 + 5632*helper_5 + 24735.999999996478*helper_6 - 4619.5555555608198*x - 3054.2222222269775*y + 201.31687242800962) + helper_0*helper_4*helper_5*(27648*x + 18432*y - 4368.0000000052496) - helper_1*(309.75308641849477*x + 132.41975308533338*y + 23.061728394293954*z - 102.8724279832303) + 16384*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
1935 case 9: {{const auto helper_0 = z - 1;
1936const auto helper_1 = pow(helper_0, 4);
1937const auto helper_2 = pow(x, 3);
1938const auto helper_3 = pow(y, 3);
1939const auto helper_4 = pow(x, 2);
1940const auto helper_5 = pow(y, 2);
1941const auto helper_6 = pow(helper_0, 2);
1942const auto helper_7 = x*y;
1943result_0 = (1.0/3.0)*y*(pow(helper_0, 3)*(1536*helper_2 + 192*helper_3 + 11220.333333330516*helper_4*y + 276.33333333241626*helper_4 + 5631.9999999982947*helper_5*x - 2.7319896018050639e-10*helper_5 + 57.041152260656716*helper_7 - 54.823045267603945*x - 15.411522633798988*y) + helper_0*helper_4*helper_5*(16384*x + 9216*y - 1.8780721730915584e-9) + helper_1*(639.86419752994175*helper_0*x + 227.82098765389279*helper_0*y + 2004.3333333324099*helper_4 + 383.99999999972169*helper_5 + 35.820987654161719*helper_6 + 3455.8641975281762*helper_7 + 57.041152262363504*x - 15.590534979859203*y - 15.590534979637029*z + 0.17901234586861037) + 8192*helper_2*helper_3 + helper_6*helper_7*(9728*helper_4 + 2816*helper_5 + 18431.999999998108*helper_7 + 276.33333333053753*x - 1.7209157786861618e-9*y - 54.823045267510423))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1944const auto helper_1 = pow(helper_0, 4);
1945const auto helper_2 = pow(x, 3);
1946const auto helper_3 = pow(y, 3);
1947const auto helper_4 = pow(x, 2);
1948const auto helper_5 = pow(y, 2);
1949const auto helper_6 = pow(helper_0, 2);
1950const auto helper_7 = x*y;
1951result_0 = (1.0/3.0)*x*(pow(helper_0, 3)*(384*helper_2 + 768*helper_3 + 7480.2222222203436*helper_4*y + 92.111111110805425*helper_4 + 8447.9999999974425*helper_5*x - 8.1959688054151917e-10*helper_5 + 57.041152260656716*helper_7 - 27.411522633801972*x - 30.823045267597976*y) + helper_0*helper_4*helper_5*(12288*x + 12288*y - 1.8780721730915584e-9) + helper_1*(319.93209876497087*helper_0*x + 455.64197530778557*helper_0*y + 668.11111111080334*helper_4 + 1151.9999999991651*helper_5 + 35.820987654161719*helper_6 + 3455.8641975281762*helper_7 + 28.520576131181752*x - 31.181069959718407*y - 15.590534979637029*z + 0.17901234586861037) + 8192*helper_2*helper_3 + helper_6*helper_7*(4864*helper_4 + 5632*helper_5 + 18431.999999998108*helper_7 + 184.22222222035836*x - 2.5813736680292428e-9*y - 54.823045267510423))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
1952const auto helper_1 = pow(helper_0, 5);
1953const auto helper_2 = pow(x, 3);
1954const auto helper_3 = pow(y, 3);
1955const auto helper_4 = pow(x, 2);
1956const auto helper_5 = pow(y, 2);
1957const auto helper_6 = x*y;
1958result_0 = -1.0/3.0*helper_6*(pow(helper_0, 3)*(384*helper_2 + 192*helper_3 + 3740.1111111101718*helper_4*y + 92.111111110805425*helper_4 + 2815.9999999991473*helper_5*x - 2.7319896018050639e-10*helper_5 + 28.520576130328358*helper_6 - 27.411522633801972*x - 15.411522633798988*y) + pow(helper_0, 2)*helper_6*(4864*helper_4 + 2816*helper_5 + 12287.999999998738*helper_6 + 184.22222222035836*x - 1.7209157786861618e-9*y - 54.823045267510423) + helper_0*helper_4*helper_5*(12288*x + 9216*y - 1.8780721730915584e-9) - helper_1*(319.93209876497087*x + 227.82098765389279*y + 71.641975308323438*z - 87.232510287960466) + 8192*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
1959 case 10: {{const auto helper_0 = z - 1;
1960const auto helper_1 = pow(helper_0, 4);
1961const auto helper_2 = pow(x, 3);
1962const auto helper_3 = pow(y, 3);
1963const auto helper_4 = pow(helper_0, 3);
1964const auto helper_5 = pow(x, 2);
1965const auto helper_6 = pow(y, 2);
1966const auto helper_7 = pow(helper_0, 2);
1967const auto helper_8 = x*y;
1968result_0 = -1.0/9.0*y*(helper_0*helper_5*helper_6*(28672*x + 18432*y + 4367.999999996794) + helper_1*(2265.7283950600868*helper_0*x + 921.75308641893196*helper_0*y + 4110.6666666651172*helper_5 + 1031.111111110592*helper_6 + 274.64197530832848*helper_7 + 9543.9506172792044*helper_8 + 1763.0452674878982*x + 638.41152263290496*y + 279.30041152219695*z - 226.64197530826405) + 16384*helper_2*helper_3 + 2048*helper_2*helper_4 + 384*helper_3*helper_4 + helper_4*(22302.666666661884*helper_5*y + 1806.6666666651263*helper_5 + 12910.222222219218*helper_6*x + 359.11111111060205*helper_6 + 4817.2674897070901*helper_8 + 201.31687242778273*x + 52.658436213915664*y) + helper_7*helper_8*(14336*helper_5 + 5632*helper_6 + 36623.999999996769*helper_8 + 6174.6666666619221*x + 3054.2222222192008*y + 201.31687242789729))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1969const auto helper_1 = pow(helper_0, 4);
1970const auto helper_2 = pow(x, 3);
1971const auto helper_3 = pow(y, 3);
1972const auto helper_4 = pow(helper_0, 3);
1973const auto helper_5 = pow(x, 2);
1974const auto helper_6 = pow(y, 2);
1975const auto helper_7 = pow(helper_0, 2);
1976const auto helper_8 = x*y;
1977result_0 = -1.0/9.0*x*(helper_0*helper_5*helper_6*(21504*x + 24576*y + 4367.999999996794) + helper_1*(1132.8641975300434*helper_0*x + 1843.5061728378639*helper_0*y + 1370.2222222217058*helper_5 + 3093.333333331776*helper_6 + 274.64197530832848*helper_7 + 9543.9506172792044*helper_8 + 881.52263374394909*x + 1276.8230452658099*y + 279.30041152219695*z - 226.64197530826405) + 16384*helper_2*helper_3 + 512*helper_2*helper_4 + 1536*helper_3*helper_4 + helper_4*(14868.444444441257*helper_5*y + 602.22222222170876*helper_5 + 19365.333333328825*helper_6*x + 1077.3333333318062*helper_6 + 4817.2674897070901*helper_8 + 100.65843621389136*x + 105.31687242783133*y) + helper_7*helper_8*(7168*helper_5 + 11264*helper_6 + 36623.999999996769*helper_8 + 4116.4444444412811*x + 4581.333333328801*y + 201.31687242789729))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
1978const auto helper_1 = pow(helper_0, 5);
1979const auto helper_2 = pow(x, 3);
1980const auto helper_3 = pow(y, 3);
1981const auto helper_4 = pow(x, 2);
1982const auto helper_5 = pow(y, 2);
1983const auto helper_6 = x*y;
1984result_0 = (1.0/9.0)*helper_6*(pow(helper_0, 3)*(512*helper_2 + 384*helper_3 + 7434.2222222206283*helper_4*y + 602.22222222170876*helper_4 + 6455.1111111096088*helper_5*x + 359.11111111060205*helper_5 + 2408.6337448535451*helper_6 + 100.65843621389136*x + 52.658436213915664*y) + pow(helper_0, 2)*helper_6*(7168*helper_4 + 5632*helper_5 + 24415.999999997846*helper_6 + 4116.4444444412811*x + 3054.2222222192008*y + 201.31687242789729) + helper_0*helper_4*helper_5*(21504*x + 18432*y + 4367.999999996794) - helper_1*(1132.8641975300434*x + 921.75308641893196*y + 549.28395061665697*z - 269.98353909446001) + 16384*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
1985 case 11: {{const auto helper_0 = z - 1;
1986const auto helper_1 = pow(helper_0, 4);
1987const auto helper_2 = pow(x, 3);
1988const auto helper_3 = pow(y, 3);
1989const auto helper_4 = pow(helper_0, 3);
1990const auto helper_5 = pow(x, 2);
1991const auto helper_6 = pow(y, 2);
1992const auto helper_7 = pow(helper_0, 2);
1993const auto helper_8 = x*y;
1994result_0 = -1.0/9.0*y*(helper_0*helper_5*helper_6*(24576*x + 21504*y + 4367.9999999971815) + helper_1*(1843.5061728380858*helper_0*x + 1132.8641975300786*helper_0*y + 3093.3333333320634*helper_5 + 1370.2222222217219*helper_6 + 274.64197530834798*helper_7 + 9543.9506172797046*helper_8 + 1276.8230452658963*x + 881.52263374403913*y + 279.30041152221867*z - 226.64197530828204) + 16384*helper_2*helper_3 + 1536*helper_2*helper_4 + 512*helper_3*helper_4 + helper_4*(19365.333333329218*helper_5*y + 1077.3333333320691*helper_5 + 14868.444444441713*helper_6*x + 602.22222222173252*helper_6 + 4817.2674897076022*helper_8 + 105.31687242778527*x + 100.65843621392094*y) + helper_7*helper_8*(11264*helper_5 + 7168*helper_6 + 36623.999999997162*helper_8 + 4581.333333329253*x + 4116.4444444417068*y + 201.31687242788004))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
1995const auto helper_1 = pow(helper_0, 4);
1996const auto helper_2 = pow(x, 3);
1997const auto helper_3 = pow(y, 3);
1998const auto helper_4 = pow(helper_0, 3);
1999const auto helper_5 = pow(x, 2);
2000const auto helper_6 = pow(y, 2);
2001const auto helper_7 = pow(helper_0, 2);
2002const auto helper_8 = x*y;
2003result_0 = -1.0/9.0*x*(helper_0*helper_5*helper_6*(18432*x + 28672*y + 4367.9999999971815) + helper_1*(921.75308641904292*helper_0*x + 2265.7283950601573*helper_0*y + 1031.1111111106877*helper_5 + 4110.6666666651654*helper_6 + 274.64197530834798*helper_7 + 9543.9506172797046*helper_8 + 638.41152263294816*x + 1763.0452674880783*y + 279.30041152221867*z - 226.64197530828204) + 16384*helper_2*helper_3 + 384*helper_2*helper_4 + 2048*helper_3*helper_4 + helper_4*(12910.22222221948*helper_5*y + 359.11111111068971*helper_5 + 22302.666666662568*helper_6*x + 1806.6666666651977*helper_6 + 4817.2674897076022*helper_8 + 52.658436213892635*x + 201.31687242784187*y) + helper_7*helper_8*(5632*helper_5 + 14336*helper_6 + 36623.999999997162*helper_8 + 3054.2222222195023*x + 6174.6666666625606*y + 201.31687242788004))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2004const auto helper_1 = pow(helper_0, 5);
2005const auto helper_2 = pow(x, 3);
2006const auto helper_3 = pow(y, 3);
2007const auto helper_4 = pow(x, 2);
2008const auto helper_5 = pow(y, 2);
2009const auto helper_6 = x*y;
2010result_0 = (1.0/9.0)*helper_6*(pow(helper_0, 3)*(384*helper_2 + 512*helper_3 + 6455.1111111097398*helper_4*y + 359.11111111068971*helper_4 + 7434.2222222208566*helper_5*x + 602.22222222173252*helper_5 + 2408.6337448538011*helper_6 + 52.658436213892635*x + 100.65843621392094*y) + pow(helper_0, 2)*helper_6*(5632*helper_4 + 7168*helper_5 + 24415.999999998108*helper_6 + 3054.2222222195023*x + 4116.4444444417068*y + 201.31687242788004) + helper_0*helper_4*helper_5*(18432*x + 21504*y + 4367.9999999971815) - helper_1*(921.75308641904292*x + 1132.8641975300786*y + 549.28395061669596*z - 269.98353909447729) + 16384*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2011 case 12: {{const auto helper_0 = z - 1;
2012const auto helper_1 = pow(helper_0, 4);
2013const auto helper_2 = pow(x, 3);
2014const auto helper_3 = pow(y, 3);
2015const auto helper_4 = pow(x, 2);
2016const auto helper_5 = pow(y, 2);
2017const auto helper_6 = pow(helper_0, 2);
2018const auto helper_7 = x*y;
2019result_0 = (1.0/3.0)*y*(pow(helper_0, 3)*(768*helper_2 + 384*helper_3 + 8447.99999999805*helper_4*y - 5.6711358831239696e-10*helper_4 + 7480.2222222208948*helper_5*x + 92.111111110870837*helper_5 + 57.04115226130962*helper_7 - 30.823045267602296*x - 27.411522633791748*y) + helper_0*helper_4*helper_5*(12288*x + 12288*y - 1.3687051479993026e-9) + helper_1*(455.64197530799089*helper_0*x + 319.93209876505216*helper_0*y + 1151.9999999994302*helper_4 + 668.11111111086552*helper_5 + 35.820987654181955*helper_6 + 3455.8641975288374*helper_7 - 31.181069959592524*x + 28.520576131282496*y - 15.590534979622706*z + 0.17901234585336923) + 8192*helper_2*helper_3 + helper_6*helper_7*(5632*helper_4 + 4864*helper_5 + 18431.999999998618*helper_7 - 1.935184357910179e-9*x + 184.22222222089204*y - 54.823045267538575))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2020const auto helper_1 = pow(helper_0, 4);
2021const auto helper_2 = pow(x, 3);
2022const auto helper_3 = pow(y, 3);
2023const auto helper_4 = pow(x, 2);
2024const auto helper_5 = pow(y, 2);
2025const auto helper_6 = pow(helper_0, 2);
2026const auto helper_7 = x*y;
2027result_0 = (1.0/3.0)*x*(pow(helper_0, 3)*(192*helper_2 + 1536*helper_3 + 5631.9999999986994*helper_4*y - 1.8903786277079899e-10*helper_4 + 11220.333333331342*helper_5*x + 276.33333333261248*helper_5 + 57.04115226130962*helper_7 - 15.411522633801148*x - 54.823045267583495*y) + helper_0*helper_4*helper_5*(9216*x + 16384*y - 1.3687051479993026e-9) + helper_1*(227.82098765399545*helper_0*x + 639.86419753010432*helper_0*y + 383.99999999981009*helper_4 + 2004.3333333325966*helper_5 + 35.820987654181955*helper_6 + 3455.8641975288374*helper_7 - 15.590534979796262*x + 57.041152262564992*y - 15.590534979622706*z + 0.17901234585336923) + 8192*helper_2*helper_3 + helper_6*helper_7*(2816*helper_4 + 9728*helper_5 + 18431.999999998618*helper_7 - 1.2901229052734526e-9*x + 276.33333333133805*y - 54.823045267538575))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2028const auto helper_1 = pow(helper_0, 5);
2029const auto helper_2 = pow(x, 3);
2030const auto helper_3 = pow(y, 3);
2031const auto helper_4 = pow(x, 2);
2032const auto helper_5 = pow(y, 2);
2033const auto helper_6 = x*y;
2034result_0 = -1.0/3.0*helper_6*(pow(helper_0, 3)*(192*helper_2 + 384*helper_3 + 2815.9999999993497*helper_4*y - 1.8903786277079899e-10*helper_4 + 3740.1111111104474*helper_5*x + 92.111111110870837*helper_5 + 28.52057613065481*helper_6 - 15.411522633801148*x - 27.411522633791748*y) + pow(helper_0, 2)*helper_6*(2816*helper_4 + 4864*helper_5 + 12287.99999999908*helper_6 - 1.2901229052734526e-9*x + 184.22222222089204*y - 54.823045267538575) + helper_0*helper_4*helper_5*(9216*x + 12288*y - 1.3687051479993026e-9) - helper_1*(227.82098765399545*x + 319.93209876505216*y + 71.641975308363911*z - 87.232510287986614) + 8192*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2035 case 13: {{const auto helper_0 = z - 1;
2036const auto helper_1 = pow(helper_0, 4);
2037const auto helper_2 = pow(x, 3);
2038const auto helper_3 = pow(y, 3);
2039const auto helper_4 = pow(helper_0, 3);
2040const auto helper_5 = pow(x, 2);
2041const auto helper_6 = pow(y, 2);
2042const auto helper_7 = pow(helper_0, 2);
2043const auto helper_8 = x*y;
2044result_0 = -1.0/9.0*y*(helper_0*helper_5*helper_6*(24576*x + 27648*y - 4368.0000000026585) + helper_1*(264.83950617165823*helper_0*x + 309.753086419017*helper_0*y + 1514.6666666656595*helper_5 + 1450.2222222217379*helper_6 + 11.530864197269521*helper_7 + 4605.2839506134169*helper_8 - 877.84362140055964*x - 645.58847736705877*y - 79.810699588858455*z + 132.46913580280841) + 16384*helper_2*helper_3 + 1536*helper_4*(helper_2 + helper_3) + helper_4*(14426.666666662975*helper_5*y - 1077.3333333343348*helper_5 + 15348.444444441857*helper_6*x - 853.7777777782519*helper_6 - 4345.399176958661*helper_8 + 105.31687242773202*x + 100.65843621387677*y) + helper_7*helper_8*(11264*helper_5 + 13312*helper_6 + 37103.999999997315*helper_8 - 4581.3333333369956*x - 4619.5555555581459*y + 201.31687242789232))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2045const auto helper_1 = pow(helper_0, 4);
2046const auto helper_2 = pow(x, 3);
2047const auto helper_3 = pow(y, 3);
2048const auto helper_4 = pow(helper_0, 3);
2049const auto helper_5 = pow(x, 2);
2050const auto helper_6 = pow(y, 2);
2051const auto helper_7 = pow(helper_0, 2);
2052const auto helper_8 = x*y;
2053result_0 = -1.0/9.0*x*(helper_0*helper_5*helper_6*(18432*x + 36864*y - 4368.0000000026585) + helper_1*(132.41975308582911*helper_0*x + 619.50617283803399*helper_0*y + 504.88888888855314*helper_5 + 4350.6666666652136*helper_6 + 11.530864197269521*helper_7 + 4605.2839506134169*helper_8 - 438.92181070027982*x - 1291.1769547341175*y - 79.810699588858455*z + 132.46913580280841) + 16384*helper_2*helper_3 + 384*helper_4*(helper_2 + 16*helper_3) + helper_4*(9617.7777777753163*helper_5*y - 359.11111111144498*helper_5 + 23022.666666662786*helper_6*x - 2561.3333333347555*helper_6 - 4345.399176958661*helper_8 + 52.658436213866011*x + 201.31687242775354*y) + helper_7*helper_8*(5632*helper_5 + 26624*helper_6 + 37103.999999997315*helper_8 - 3054.2222222246637*x - 6929.3333333372193*y + 201.31687242789232))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2054const auto helper_1 = pow(helper_0, 5);
2055const auto helper_2 = pow(x, 3);
2056const auto helper_3 = pow(y, 3);
2057const auto helper_4 = pow(x, 2);
2058const auto helper_5 = pow(y, 2);
2059const auto helper_6 = x*y;
2060result_0 = (1.0/9.0)*helper_6*(pow(helper_0, 3)*(384*helper_2 + 1536*helper_3 + 4808.8888888876581*helper_4*y - 359.11111111144498*helper_4 + 7674.2222222209284*helper_5*x - 853.7777777782519*helper_5 - 2172.6995884793305*helper_6 + 52.658436213866011*x + 100.65843621387677*y) + pow(helper_0, 2)*helper_6*(5632*helper_4 + 13312*helper_5 + 24735.99999999821*helper_6 - 3054.2222222246637*x - 4619.5555555581459*y + 201.31687242789232) + helper_0*helper_4*helper_5*(18432*x + 27648*y - 4368.0000000026585) - helper_1*(132.41975308582911*x + 309.753086419017*y + 23.061728394539042*z - 102.8724279833975) + 16384*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2061 case 14: {{const auto helper_0 = z - 1;
2062const auto helper_1 = pow(helper_0, 4);
2063const auto helper_2 = pow(x, 3);
2064const auto helper_3 = pow(y, 3);
2065const auto helper_4 = pow(x, 2);
2066const auto helper_5 = pow(y, 2);
2067const auto helper_6 = pow(helper_0, 3);
2068const auto helper_7 = pow(helper_0, 2);
2069const auto helper_8 = x*y;
2070result_0 = -1.0/9.0*y*(helper_0*helper_4*helper_5*(28672*x + 30720*y - 4368.0000000032132) + helper_1*(188.39506172708616*helper_0*x + 655.53086419670194*helper_0*y + 2033.3333333321439*helper_4 + 3927.1111111105356*helper_5 - 71.580246913844846*helper_7 + 7946.6172839460851*helper_8 - 1850.2880658451486*x - 1995.8106995893595*y - 322.92181069998082*z + 471.58024691394024) + 16384*helper_2*helper_3 + 128*helper_6*(16*helper_2 + 25*helper_3) + helper_6*(20705.333333328908*helper_4*y - 1806.6666666678498*helper_4 + 25678.222222219098*helper_5*x - 1672.8888888894544*helper_5 - 7532.0658436259646*helper_8 + 201.3168724277339*x + 148.65843621388612*y) + helper_7*helper_8*(14336*helper_4 + 17920*helper_5 + 49391.999999996755*helper_8 - 6174.6666666710635*x - 5681.7777777808988*y + 201.31687242790181))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2071const auto helper_1 = pow(helper_0, 4);
2072const auto helper_2 = pow(y, 3);
2073const auto helper_3 = pow(x, 3);
2074const auto helper_4 = pow(helper_0, 3)*x;
2075const auto helper_5 = pow(y, 2);
2076const auto helper_6 = helper_0*helper_5;
2077const auto helper_7 = pow(helper_0, 2);
2078const auto helper_8 = x*y;
2079const auto helper_9 = pow(x, 2);
2080const auto helper_10 = helper_9*y;
2081const auto helper_11 = helper_5*x;
2082result_0 = -1.0/9.0*(-helper_1*(-94.197530863543079*helper_0*helper_9 - 1311.0617283934039*helper_0*x*y + 322.92181069998082*helper_0*x + 576*helper_0*y - 7946.6172839460851*helper_10 - 11781.333333331606*helper_11 - 1536*helper_2 - 677.77777777738129*helper_3 + 864*helper_5 - 1152*helper_6 + 71.580246913844846*helper_7*x + 925.1440329225743*helper_9 + 3991.621399178719*x*y - 148.65843621395942*x - 96*y - 48*z + 48) + helper_10*helper_7*(35840*helper_5 + 49391.999999996755*helper_8 + 7168*helper_9 - 4116.4444444473756*x - 8522.6666666713481*y + 201.31687242790181) + 16384*helper_2*pow(x, 4) + helper_3*helper_6*(21504*x + 40960*y - 4368.0000000032132) + 512*helper_4*(25*helper_2 + helper_3) + helper_4*(13803.555555552604*helper_10 + 38517.33333332865*helper_11 - 5018.6666666683623*helper_5 - 7532.0658436259646*helper_8 - 602.22222222261655*helper_9 + 100.65843621386695*x + 297.31687242777224*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2083const auto helper_1 = pow(helper_0, 5);
2084const auto helper_2 = pow(y, 3);
2085const auto helper_3 = pow(x, 3);
2086const auto helper_4 = pow(y, 2);
2087const auto helper_5 = x*y;
2088const auto helper_6 = pow(x, 2);
2089const auto helper_7 = helper_6*y;
2090result_0 = (1.0/9.0)*y*(pow(helper_0, 3)*x*(3200*helper_2 + 512*helper_3 + 12839.111111109549*helper_4*x - 1672.8888888894544*helper_4 - 3766.0329218129823*helper_5 - 602.22222222261655*helper_6 + 6901.7777777763022*helper_7 + 100.65843621386695*x + 148.65843621388612*y) + pow(helper_0, 2)*helper_7*(17920*helper_4 + 32927.999999997839*helper_5 + 7168*helper_6 - 4116.4444444473756*x - 5681.7777777808988*y + 201.31687242790181) + helper_0*helper_3*helper_4*(21504*x + 30720*y - 4368.0000000032132) - helper_1*(-143.16049382768969*helper_0*x + 384*helper_4 + 655.53086419670194*helper_5 + 94.197530863543079*helper_6 - 322.92181069998082*x - 288*y + 48) + 16384*helper_2*pow(x, 4))/helper_1;val.col(2) = result_0; }} break;
2091 case 15: {{const auto helper_0 = z - 1;
2092const auto helper_1 = pow(helper_0, 4);
2093const auto helper_2 = pow(x, 3);
2094const auto helper_3 = pow(y, 3);
2095const auto helper_4 = pow(helper_0, 3);
2096const auto helper_5 = pow(x, 2);
2097const auto helper_6 = pow(y, 2);
2098const auto helper_7 = pow(helper_0, 2);
2099const auto helper_8 = x*y;
2100result_0 = (1.0/3.0)*y*(helper_0*helper_5*helper_6*(16384*x + 15360*y - 2.21213549373295e-9) + helper_1*(1239.1975308633084*helper_0*x + 1735.7098765426997*helper_0*y + 2603.6666666657529*helper_5 + 3199.9999999996257*helper_6 + 135.70987654306646*helper_7 + 10199.197530861133*helper_8 - 495.62551440427774*x - 203.70164609103523*y - 203.70164609073817*z + 164.29012345698763) + 8192*helper_2*helper_3 + 1600*helper_3*helper_4 - helper_4*(-1536*helper_2 - 17963.666666663521*helper_5*y + 276.33333333424247*helper_5 - 17919.999999997875*helper_6*x + 3.6851397298996122e-10*helper_6 + 495.62551440634479*helper_8 + 54.823045267570699*x + 39.411522633763482*y) + helper_7*helper_8*(9728*helper_5 + 8960*helper_6 + 30719.999999997774*helper_8 - 276.33333333645669*x - 2.1224900190851629e-9*y - 54.8230452675067))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2101const auto helper_1 = pow(helper_0, 4);
2102const auto helper_2 = pow(y, 3);
2103const auto helper_3 = pow(helper_0, 3)*x;
2104const auto helper_4 = pow(x, 3);
2105const auto helper_5 = pow(y, 2);
2106const auto helper_6 = helper_0*helper_5;
2107const auto helper_7 = pow(x, 2);
2108const auto helper_8 = x*y;
2109const auto helper_9 = pow(helper_0, 2);
2110const auto helper_10 = helper_9*y;
2111const auto helper_11 = helper_5*x;
2112const auto helper_12 = helper_7*y;
2113const auto helper_13 = helper_0*y;
2114result_0 = (1.0/3.0)*(helper_1*(619.59876543165421*helper_0*helper_7 - 203.70164609073817*helper_0*x + 384*helper_10 + 9599.9999999988777*helper_11 + 10199.197530861133*helper_12 + 3471.4197530853994*helper_13*x - 96*helper_13 + 768*helper_2 + 867.88888888858423*helper_4 + 1152*helper_6 - 247.81275720213887*helper_7 - 407.40329218207046*helper_8 + 135.70987654306646*helper_9*x - 48*helper_9 - 39.411522633750543*x - 24*y - 12*z + 12) + helper_10*helper_7*(17920*helper_5 + 4864*helper_7 + 30719.999999997774*helper_8 - 184.22222222430446*x - 3.1837350286277446e-9*y - 54.8230452675067) + 6400*helper_2*helper_3 + 8192*helper_2*pow(x, 4) - helper_3*(-26879.999999996813*helper_11 - 11975.777777775682*helper_12 - 384*helper_4 + 1.1055419189698836e-9*helper_5 + 92.111111111414161*helper_7 + 495.62551440634479*helper_8 + 27.411522633785349*x + 78.823045267526965*y) + helper_4*helper_6*(12288*x + 20480*y - 2.21213549373295e-9))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2115const auto helper_1 = pow(helper_0, 5);
2116const auto helper_2 = pow(y, 3);
2117const auto helper_3 = pow(x, 3);
2118const auto helper_4 = pow(y, 2);
2119const auto helper_5 = x*y;
2120const auto helper_6 = pow(x, 2);
2121const auto helper_7 = helper_6*y;
2122result_0 = -1.0/3.0*y*(-pow(helper_0, 3)*x*(-1600*helper_2 - 384*helper_3 - 8959.9999999989377*helper_4*x + 3.6851397298996122e-10*helper_4 + 247.8127572031724*helper_5 + 92.111111111414161*helper_6 - 5987.8888888878409*helper_7 + 27.411522633785349*x + 39.411522633763482*y) + pow(helper_0, 2)*helper_7*(8960*helper_4 + 20479.999999998516*helper_5 + 4864*helper_6 - 184.22222222430446*x - 2.1224900190851629e-9*y - 54.8230452675067) + helper_0*helper_3*helper_4*(12288*x + 15360*y - 2.21213549373295e-9) - helper_1*(271.41975308613291*helper_0*x + 384*helper_0*y + 384*helper_4 + 1735.7098765426997*helper_5 + 619.59876543165421*helper_6 - 203.70164609073817*x - 48*y - 96*z + 84) + 8192*helper_2*pow(x, 4))/helper_1;val.col(2) = result_0; }} break;
2123 case 16: {{const auto helper_0 = z - 1;
2124const auto helper_1 = pow(helper_0, 4);
2125const auto helper_2 = pow(x, 3);
2126const auto helper_3 = pow(y, 3);
2127const auto helper_4 = pow(helper_0, 3);
2128const auto helper_5 = pow(x, 2);
2129const auto helper_6 = pow(y, 2);
2130const auto helper_7 = pow(helper_0, 2);
2131const auto helper_8 = x*y;
2132result_0 = -1.0/9.0*y*(helper_0*helper_5*helper_6*(36864*x + 30720*y + 4367.999999993247) + helper_1*(10350.172839503257*helper_0*x + 8074.1975308626988*helper_0*y + 14081.333333330254*helper_5 + 8872.8888888878137*helper_6 + 2401.3086419748693*helper_7 + 38431.95061727451*helper_8 + 3831.4897119310135*x + 3022.8559670767831*y + 1349.9670781887205*z - 1201.3086419747463) + 16384*helper_2*helper_3 + 6144*helper_2*helper_4 + 3200*helper_3*helper_4 + helper_4*(56849.333333323462*helper_5*y + 2561.3333333302603*helper_5 + 46001.777777771342*helper_6*x + 1672.888888887825*helper_6 + 9513.2674897025008*helper_8 + 201.31687242786847*x + 148.6584362140176*y) + helper_7*helper_8*(26624*helper_5 + 17920*helper_6 + 73487.999999993233*helper_8 + 6929.3333333235223*x + 5681.7777777713654*y + 201.31687242794274))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2133const auto helper_1 = pow(helper_0, 4);
2134const auto helper_2 = pow(x, 4);
2135const auto helper_3 = pow(y, 3);
2136const auto helper_4 = pow(helper_0, 3);
2137const auto helper_5 = helper_4*x;
2138const auto helper_6 = pow(x, 3);
2139const auto helper_7 = pow(y, 2);
2140const auto helper_8 = pow(x, 2);
2141const auto helper_9 = x*y;
2142const auto helper_10 = pow(helper_0, 2);
2143const auto helper_11 = helper_10*y;
2144const auto helper_12 = helper_7*x;
2145const auto helper_13 = helper_8*y;
2146const auto helper_14 = helper_0*y;
2147const auto helper_15 = -helper_0;
2148result_0 = -1.0/9.0*(helper_0*helper_6*helper_7*(27648*x + 40960*y + 4367.999999993247) + helper_1*(1349.9670781887205*helper_0*x + 2401.3086419748693*helper_10*x + 288*helper_10 + 2304*helper_11 + 26618.666666663441*helper_12 + 38431.95061727451*helper_13 + 16148.395061725398*helper_14*x + 1152*helper_14 - 3456*helper_15*helper_7 - 5175.0864197516285*helper_15*helper_8 + 1536*helper_3 + 384*helper_4 + 4693.7777777767515*helper_6 + 864*helper_7 + 1915.7448559655068*helper_8 + 6045.7119341535663*helper_9 + 148.65843621397426*x + 96*y + 48*z - 48) + helper_11*helper_8*(35840*helper_7 + 13312*helper_8 + 73487.999999993233*helper_9 + 4619.5555555490155*x + 8522.6666666570491*y + 201.31687242794274) + 16384*helper_2*helper_3 + 1536*helper_2*helper_4 + 12800*helper_3*helper_5 + helper_5*(69002.666666657009*helper_12 + 37899.555555548977*helper_13 + 5018.6666666634746*helper_7 + 853.77777777675351*helper_8 + 9513.2674897025008*helper_9 + 100.65843621393424*x + 297.3168724280352*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2149const auto helper_1 = pow(helper_0, 5);
2150const auto helper_2 = pow(y, 3);
2151const auto helper_3 = pow(x, 3);
2152const auto helper_4 = pow(y, 2);
2153const auto helper_5 = pow(helper_0, 2);
2154const auto helper_6 = x*y;
2155const auto helper_7 = pow(x, 2);
2156const auto helper_8 = helper_7*y;
2157result_0 = (1.0/9.0)*y*(pow(helper_0, 3)*x*(3200*helper_2 + 1536*helper_3 + 23000.888888885671*helper_4*x + 1672.888888887825*helper_4 + 4756.6337448512504*helper_6 + 853.77777777675351*helper_7 + 18949.777777774489*helper_8 + 100.65843621393424*x + 148.6584362140176*y) + helper_0*helper_3*helper_4*(27648*x + 30720*y + 4367.999999993247) - helper_1*(4802.6172839497385*helper_0*x + 2304*helper_0*y + 1152*helper_4 + 1152*helper_5 + 8074.1975308626988*helper_6 + 5175.0864197516285*helper_7 + 1349.9670781887205*x + 576*y + 576*z - 528) + 16384*helper_2*pow(x, 4) + helper_5*helper_8*(17920*helper_4 + 48991.999999995482*helper_6 + 13312*helper_7 + 4619.5555555490155*x + 5681.7777777713654*y + 201.31687242794274))/helper_1;val.col(2) = result_0; }} break;
2158 case 17: {{const auto helper_0 = z - 1;
2159const auto helper_1 = pow(helper_0, 3);
2160const auto helper_2 = pow(x, 2);
2161const auto helper_3 = pow(y, 3);
2162const auto helper_4 = pow(helper_0, 2);
2163const auto helper_5 = helper_4*y;
2164const auto helper_6 = pow(y, 2);
2165const auto helper_7 = x*y;
2166const auto helper_8 = helper_0*x;
2167const auto helper_9 = 2408.9999999998781*helper_2;
2168const auto helper_10 = helper_6*x;
2169const auto helper_11 = 384*helper_2;
2170const auto helper_12 = -helper_0;
2171result_0 = -1.0/9.0*(3*helper_1*(2255.5833333332694*helper_0*y + 384*helper_1 + 6269.4999999995962*helper_10 - helper_11*helper_12 + helper_11 - 2096.7499999998963*helper_12*helper_6 + 802.99999999994191*helper_3 + 768*helper_4*x + 576*helper_4 + 1677.7499999999563*helper_5 + 2482.5833333332398*helper_6 + 4965.1666666664914*helper_7 + 4193.4999999998308*helper_8*y + 960*helper_8 + helper_9*y + 192*x + 593.83333333332507*y + 208*z - 192) + 6722.9999999994579*helper_2*helper_3 + 3*helper_5*(2843.9999999997603*helper_10 + 4265.999999999698*helper_2*y + 802.99999999994259*helper_6 + 6849.1666666662313*helper_7 + helper_9 + 771.66666666668254*x + 385.83333333334758*y) + 48*helper_5 + 3*helper_6*helper_8*(2240.9999999998195*helper_7 + 4265.9999999996999*x + 2843.9999999997644*y + 579.6666666666398))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2172const auto helper_1 = pow(helper_0, 3);
2173const auto helper_2 = pow(x, 3);
2174const auto helper_3 = pow(y, 2);
2175const auto helper_4 = pow(helper_0, 2);
2176const auto helper_5 = helper_4*x;
2177const auto helper_6 = pow(x, 2);
2178const auto helper_7 = x*y;
2179const auto helper_8 = helper_0*y;
2180const auto helper_9 = helper_3*x;
2181const auto helper_10 = helper_6*y;
2182const auto helper_11 = 384*helper_3;
2183const auto helper_12 = -helper_0;
2184result_0 = -1.0/9.0*(3*helper_1*(2255.5833333332694*helper_0*x + 384*helper_1 + 6269.4999999995962*helper_10 - helper_11*helper_12 + helper_11 - 2096.7499999999154*helper_12*helper_6 + 802.9999999999593*helper_2 + 768*helper_4*y + 576*helper_4 + 1677.7499999999563*helper_5 + 2482.5833333332457*helper_6 + 4965.1666666664796*helper_7 + 4193.4999999997926*helper_8*x + 960*helper_8 + 2408.9999999998258*helper_9 + 593.83333333332507*x + 192*y + 208*z - 192) + 6722.9999999994579*helper_2*helper_3 + 3*helper_5*(2843.999999999799*helper_10 + 2408.9999999998277*helper_3 + 802.9999999999593*helper_6 + 6849.1666666662313*helper_7 + 4265.9999999996407*helper_9 + 385.83333333334127*x + 771.66666666669516*y) + 48*helper_5 + 3*helper_6*helper_8*(2240.9999999998195*helper_7 + 2843.9999999997999*x + 4265.9999999996471*y + 579.6666666666398))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2185const auto helper_1 = pow(helper_0, 4);
2186const auto helper_2 = pow(x, 3);
2187const auto helper_3 = pow(y, 3);
2188const auto helper_4 = pow(x, 2);
2189const auto helper_5 = pow(y, 2);
2190const auto helper_6 = x*y;
2191const auto helper_7 = pow(helper_0, 2);
2192const auto helper_8 = helper_5*x;
2193const auto helper_9 = helper_4*y;
2194const auto helper_10 = 1152*x;
2195const auto helper_11 = 1152*y;
2196const auto helper_12 = 768*helper_0;
2197result_0 = (1.0/3.0)*(helper_0*helper_4*helper_5*(1493.9999999998797*helper_6 + 2843.9999999997999*x + 2843.9999999997644*y + 579.6666666666398) - helper_1*(512*pow(helper_0, 3) + helper_0*helper_10 + helper_0*helper_11 + 3355.4999999999127*helper_0*helper_6 + helper_10*helper_7 + helper_11*helper_7 + helper_12*helper_4 + helper_12*helper_5 + 128*helper_2 + 128*helper_3 + 480*helper_4 + 480*helper_5 + 2255.5833333332694*helper_6 + 672*helper_7 + 2096.7499999998963*helper_8 + 2096.7499999999154*helper_9 + 208*x + 208*y + 224*z - 208) + 2240.999999999819*helper_2*helper_3 + helper_6*helper_7*(802.9999999999593*helper_4 + 802.99999999994259*helper_5 + 3424.5833333331157*helper_6 + 1421.9999999998802*helper_8 + 1421.9999999998995*helper_9 + 385.83333333334127*x + 385.83333333334758*y + 16))/helper_1;val.col(2) = result_0; }} break;
2198 case 18: {{const auto helper_0 = z - 1;
2199const auto helper_1 = pow(helper_0, 3);
2200const auto helper_2 = pow(x, 2);
2201const auto helper_3 = pow(y, 3);
2202const auto helper_4 = pow(y, 2);
2203const auto helper_5 = x*y;
2204const auto helper_6 = helper_0*x;
2205const auto helper_7 = helper_4*x;
2206const auto helper_8 = helper_2*y;
2207const auto helper_9 = pow(helper_0, 2);
2208const auto helper_10 = helper_9*y;
2209result_0 = (helper_1*(387.81249999997863*helper_0*helper_4 + 763.43749999997374*helper_0*y + 128*helper_1 + 450.56249999998414*helper_10 + 65.249999999994671*helper_3 + 588.68749999997158*helper_4 + 1177.3749999999429*helper_5 + 775.62499999995964*helper_6*y + 224*helper_6 + 980.62499999993361*helper_7 + 195.74999999998698*helper_8 + 128*helper_9*x + 240*helper_9 + 96*x + 324.87499999999091*y + 124*z - 112) + helper_10*(195.74999999998693*helper_2 + 65.249999999994756*helper_4 + 1286.3749999999145*helper_5 + 332.99999999997374*helper_7 + 499.49999999996419*helper_8 + 401.74999999998596*x + 200.87499999999406*y + 12) + 303.74999999997726*helper_2*helper_3 + helper_4*helper_6*(303.74999999997726*helper_5 + 499.49999999996436*x + 332.99999999997431*y + 305.74999999998096))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2210const auto helper_1 = pow(helper_0, 3);
2211const auto helper_2 = pow(x, 3);
2212const auto helper_3 = pow(y, 2);
2213const auto helper_4 = pow(x, 2);
2214const auto helper_5 = x*y;
2215const auto helper_6 = helper_0*y;
2216const auto helper_7 = helper_3*x;
2217const auto helper_8 = helper_4*y;
2218const auto helper_9 = pow(helper_0, 2);
2219const auto helper_10 = helper_9*x;
2220result_0 = (helper_1*(387.81249999997982*helper_0*helper_4 + 763.43749999997374*helper_0*x + 128*helper_1 + 450.56249999998414*helper_10 + 65.249999999995666*helper_2 + 588.68749999997146*helper_4 + 1177.3749999999432*helper_5 + 775.62499999995725*helper_6*x + 224*helper_6 + 195.74999999998403*helper_7 + 980.62499999993361*helper_8 + 128*helper_9*y + 240*helper_9 + 324.87499999999091*x + 96*y + 124*z - 112) + helper_10*(195.74999999998425*helper_3 + 65.249999999995637*helper_4 + 1286.3749999999145*helper_5 + 499.49999999996061*helper_7 + 332.99999999997613*helper_8 + 200.87499999999298*x + 401.74999999998812*y + 12) + 303.74999999997726*helper_2*helper_3 + helper_4*helper_6*(303.74999999997726*helper_5 + 332.99999999997624*x + 499.49999999996146*y + 305.74999999998096))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2221const auto helper_1 = pow(helper_0, 4);
2222const auto helper_2 = pow(x, 2);
2223const auto helper_3 = pow(y, 2);
2224const auto helper_4 = x*y;
2225const auto helper_5 = pow(helper_0, 2);
2226const auto helper_6 = helper_3*x;
2227const auto helper_7 = helper_2*y;
2228const auto helper_8 = 480*helper_0;
2229const auto helper_9 = 384*helper_5;
2230const auto helper_10 = 128*helper_0;
2231result_0 = -(helper_0*helper_2*helper_3*(202.49999999998482*helper_4 + 332.99999999997624*x + 332.99999999997431*y + 305.74999999998096) - helper_1*(256*pow(helper_0, 3) + 901.12499999996828*helper_0*helper_4 + helper_10*helper_2 + helper_10*helper_3 + 112*helper_2 + 112*helper_3 + 763.43749999997374*helper_4 + 387.81249999997863*helper_6 + 387.81249999997982*helper_7 + helper_8*x + helper_8*y + helper_9*x + helper_9*y + helper_9 + 124*x + 124*y + 152*z - 140) + helper_4*helper_5*(65.249999999995637*helper_2 + 65.249999999994756*helper_3 + 643.18749999995725*helper_4 + 166.49999999998687*helper_6 + 166.49999999998806*helper_7 + 200.87499999999298*x + 200.87499999999406*y + 12) + 303.74999999997726*pow(x, 3)*pow(y, 3))/helper_1;val.col(2) = result_0; }} break;
2232 case 19: {{const auto helper_0 = z - 1;
2233const auto helper_1 = pow(helper_0, 3);
2234const auto helper_2 = pow(x, 2);
2235const auto helper_3 = pow(y, 3);
2236const auto helper_4 = x*y;
2237const auto helper_5 = pow(y, 2);
2238const auto helper_6 = helper_5*x;
2239const auto helper_7 = helper_2*y;
2240const auto helper_8 = pow(helper_0, 2);
2241const auto helper_9 = helper_8*y;
2242const auto helper_10 = helper_0*y;
2243result_0 = -1.0/3.0*(helper_0*helper_6*(242.99999999998875*helper_4 + 485.99999999998374*x + 323.99999999998516*y + 453.66666666662957) + helper_1*(502.24999999996783*helper_0*helper_5 + 128*helper_1 + 1004.49999999994*helper_10*x + 936.08333333328551*helper_10 + 80.999999999996277*helper_3 + 1458.1666666665722*helper_4 + 729.0833333332846*helper_5 + 1328.499999999925*helper_6 + 242.9999999999948*helper_7 + 288*helper_8 + 549.24999999997192*helper_9 + 434.83333333331547*y + 208*z - 160) + 242.99999999998866*helper_2*helper_3 + helper_9*(242.99999999999483*helper_2 + 1782.1666666665542*helper_4 + 80.999999999996319*helper_5 + 323.9999999999846*helper_6 + 485.99999999998352*helper_7 + 453.66666666663468*x + 226.83333333331825*y + 48))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2244const auto helper_1 = pow(helper_0, 3);
2245const auto helper_2 = pow(x, 3);
2246const auto helper_3 = pow(y, 2);
2247const auto helper_4 = x*y;
2248const auto helper_5 = pow(x, 2);
2249const auto helper_6 = helper_5*y;
2250const auto helper_7 = helper_3*x;
2251const auto helper_8 = pow(helper_0, 2);
2252const auto helper_9 = helper_8*x;
2253result_0 = -1.0/3.0*(helper_0*helper_6*(242.99999999998875*helper_4 + 323.99999999998914*x + 485.99999999997772*y + 453.66666666662957) + helper_1*(1004.4999999999357*helper_0*helper_4 + 502.24999999996999*helper_0*helper_5 + 936.08333333328551*helper_0*x + 128*helper_1 + 80.999999999998266*helper_2 + 1458.1666666665692*helper_4 + 729.08333333328608*helper_5 + 1328.499999999925*helper_6 + 242.99999999998883*helper_7 + 288*helper_8 + 549.24999999997192*helper_9 + 434.83333333331547*x + 208*z - 160) + 242.99999999998866*helper_2*helper_3 + helper_9*(242.99999999998897*helper_3 + 1782.1666666665542*helper_4 + 80.99999999999828*helper_5 + 323.99999999998903*helper_6 + 485.99999999997692*helper_7 + 226.83333333331734*x + 453.6666666666365*y + 48))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2254const auto helper_1 = pow(helper_0, 4);
2255const auto helper_2 = pow(x, 2);
2256const auto helper_3 = pow(y, 2);
2257const auto helper_4 = x*y;
2258const auto helper_5 = pow(helper_0, 2);
2259const auto helper_6 = helper_3*x;
2260const auto helper_7 = helper_2*y;
2261const auto helper_8 = 576*helper_0;
2262const auto helper_9 = 384*helper_5;
2263result_0 = (1.0/3.0)*(helper_0*helper_2*helper_3*(161.9999999999925*helper_4 + 323.99999999998914*x + 323.99999999998516*y + 453.66666666662957) - helper_1*(512*pow(helper_0, 3) + 1098.4999999999438*helper_0*helper_4 + 936.08333333328551*helper_4 + 864*helper_5 + 502.24999999996783*helper_6 + 502.24999999996999*helper_7 + helper_8*x + helper_8*y + helper_9*x + helper_9*y + 208*x + 208*y + 416*z - 368) + helper_4*helper_5*(80.99999999999828*helper_2 + 80.999999999996319*helper_3 + 891.0833333332771*helper_4 + 161.9999999999923*helper_6 + 161.99999999999451*helper_7 + 226.83333333331734*x + 226.83333333331825*y + 48) + 242.99999999998866*pow(x, 3)*pow(y, 3))/helper_1;val.col(2) = result_0; }} break;
2264 case 20: {{const auto helper_0 = z - 1;
2265const auto helper_1 = pow(helper_0, 3);
2266const auto helper_2 = pow(x, 2);
2267const auto helper_3 = pow(y, 3);
2268const auto helper_4 = pow(helper_0, 2)*y;
2269const auto helper_5 = x*y;
2270const auto helper_6 = pow(y, 2);
2271const auto helper_7 = helper_6*x;
2272const auto helper_8 = 2408.9999999998709*helper_2;
2273const auto helper_9 = 192*x;
2274const auto helper_10 = 384*helper_2;
2275result_0 = (1.0/9.0)*(3*helper_0*helper_7*(2240.9999999998145*helper_5 + 4265.9999999996871*x + 1637.9999999997667*y - 579.66666666667368) + 3*helper_1*(helper_0*helper_10 + 624.49999999985403*helper_0*helper_5 + 93.249999999913726*helper_0*helper_6 - helper_0*helper_9 - 300.58333333337299*helper_0*y + helper_10 + 199.99999999994498*helper_3 - 106.75000000003013*helper_4 - 147.16666666680402*helper_5 - 100.58333333340107*helper_6 + 2262.4999999996226*helper_7 + helper_8*y - helper_9 - 177.83333333333471*y + 16*z) + 6722.9999999994407*helper_2*helper_3 + 3*helper_4*(4265.9999999996862*helper_2*y + 1682.8333333329456*helper_5 + 199.99999999994537*helper_6 + 1637.9999999997631*helper_7 + helper_8 - 771.66666666663684*x - 193.83333333331149*y) + 48*helper_4)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2276const auto helper_1 = pow(helper_0, 3);
2277const auto helper_2 = pow(helper_0, 2);
2278const auto helper_3 = pow(x, 2);
2279const auto helper_4 = pow(y, 2);
2280const auto helper_5 = x*y;
2281const auto helper_6 = 802.99999999995703*helper_3;
2282result_0 = (1.0/3.0)*x*(3*helper_0*helper_5*(746.99999999993815*helper_5 + 947.99999999993054*x + 818.99999999988336*y - 193.22222222222456) + helper_1*(312.24999999992701*helper_0*x + 186.49999999982745*helper_0*y - 106.75000000003013*helper_2 + 599.99999999983493*helper_4 + 2262.4999999996226*helper_5 + helper_6 - 73.58333333340201*x - 201.16666666680214*y - 300.58333333337299*z + 122.75000000003828) + helper_2*(2843.9999999997908*helper_3*y + 2456.9999999996444*helper_4*x + 599.99999999983606*helper_4 + 1682.8333333329456*helper_5 + helper_6 - 385.83333333331842*x - 387.66666666662297*y) + 16*helper_2 + 2240.9999999998136*helper_3*helper_4)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2283const auto helper_1 = pow(helper_0, 4);
2284const auto helper_2 = pow(x, 2);
2285const auto helper_3 = x*y;
2286const auto helper_4 = pow(y, 2);
2287const auto helper_5 = helper_4*x;
2288result_0 = -1.0/3.0*x*(pow(helper_0, 2)*y*(1421.9999999998954*helper_2*y + 802.99999999995703*helper_2 + 841.41666666647279*helper_3 + 199.99999999994537*helper_4 + 818.99999999988154*helper_5 - 385.83333333331842*x - 193.83333333331149*y + 16) + helper_0*helper_5*(1493.9999999998763*helper_3 + 2843.9999999997917*x + 1637.9999999997667*y - 579.66666666667368) - helper_1*(-213.50000000006025*helper_0*y + 128*helper_2 + 312.24999999992701*helper_3 + 93.249999999913726*helper_4 - 96*x - 300.58333333337299*y + 16) + 2240.9999999998136*helper_2*pow(y, 3))/helper_1;val.col(2) = result_0; }} break;
2289 case 21: {{const auto helper_0 = z - 1;
2290const auto helper_1 = pow(helper_0, 3);
2291const auto helper_2 = pow(x, 2);
2292const auto helper_3 = pow(y, 3);
2293const auto helper_4 = pow(y, 2);
2294const auto helper_5 = x*y;
2295const auto helper_6 = helper_0*x;
2296const auto helper_7 = helper_4*x;
2297const auto helper_8 = helper_2*y;
2298const auto helper_9 = pow(helper_0, 2);
2299const auto helper_10 = helper_9*y;
2300result_0 = -(-helper_1*(93.312500000007191*helper_0*helper_4 + 218.18750000000574*helper_0*y + 129.31250000000378*helper_10 - 35.99999999999671*helper_3 + 198.18750000000662*helper_4 + 785.87500000001762*helper_5 + 384.12500000001512*helper_6*y + 224*helper_6 - 18.37499999996696*helper_7 - 195.74999999998863*helper_8 + 128*helper_9*x - 16*helper_9 + 96*x + 76.875000000001918*y - 28*z + 16) + helper_10*(195.74999999998852*helper_2 + 35.99999999999676*helper_4 - 287.37500000003638*helper_5 + 274.49999999998153*helper_7 + 499.49999999997135*helper_8 - 401.74999999999949*x - 104.87499999999841*y + 12) + 303.74999999998266*helper_2*helper_3 + helper_4*helper_6*(303.74999999998272*helper_5 + 499.49999999997146*x + 274.49999999998209*y - 305.75000000000335))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2301const auto helper_1 = pow(helper_0, 3);
2302const auto helper_2 = pow(x, 2);
2303const auto helper_3 = pow(y, 2);
2304const auto helper_4 = x*y;
2305const auto helper_5 = pow(helper_0, 2);
2306result_0 = -x*(helper_0*helper_4*(303.74999999998272*helper_4 + 332.99999999998096*x + 411.74999999997317*y - 305.75000000000335) - helper_1*(192.06250000000756*helper_0*x + 186.62500000001438*helper_0*y - 65.249999999996206*helper_2 - 107.99999999999014*helper_3 - 18.37499999996696*helper_4 + 129.31250000000378*helper_5 + 392.93750000000881*x + 396.37500000001324*y + 218.18750000000574*z - 141.31250000000381) + 303.74999999998266*helper_2*helper_3 + helper_5*(332.9999999999809*helper_2*y + 65.249999999996177*helper_2 + 411.74999999997226*helper_3*x + 107.99999999999028*helper_3 - 287.37500000003638*helper_4 - 200.87499999999974*x - 209.74999999999682*y + 12))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2307const auto helper_1 = pow(helper_0, 4);
2308const auto helper_2 = pow(x, 2);
2309const auto helper_3 = pow(y, 2);
2310const auto helper_4 = x*y;
2311const auto helper_5 = helper_0*x;
2312result_0 = x*(pow(helper_0, 2)*y*(166.49999999999045*helper_2*y + 65.249999999996177*helper_2 + 137.24999999999076*helper_3*x + 35.99999999999676*helper_3 - 143.68750000001819*helper_4 - 200.87499999999974*x - 104.87499999999841*y + 12) + helper_1*(258.62500000000756*helper_0*y + 93.312500000007191*helper_3 + 192.06250000000756*helper_4 + 128*helper_5 + 112*x + 218.18750000000574*y - 32*z + 4) + 303.74999999998266*helper_2*pow(y, 3) + helper_3*helper_5*(202.49999999998849*helper_4 + 332.99999999998096*x + 274.49999999998209*y - 305.75000000000335))/helper_1;val.col(2) = result_0; }} break;
2313 case 22: {{const auto helper_0 = z - 1;
2314const auto helper_1 = pow(helper_0, 3);
2315const auto helper_2 = pow(x, 2);
2316const auto helper_3 = pow(y, 3);
2317const auto helper_4 = x*y;
2318const auto helper_5 = pow(y, 2);
2319const auto helper_6 = helper_0*helper_5;
2320const auto helper_7 = 242.99999999998147*helper_2;
2321const auto helper_8 = helper_5*x;
2322const auto helper_9 = pow(helper_0, 2);
2323const auto helper_10 = helper_9*y;
2324result_0 = (1.0/3.0)*(-helper_1*(518.50000000002683*helper_0*helper_4 + 279.08333333334434*helper_0*y - 128*helper_1 + 212.25000000000728*helper_10 + 4.3011407915308443e-12*helper_3 + 972.16666666669903*helper_4 + 567.08333333334622*helper_5 + 340.25000000001165*helper_6 - helper_7*y + 356.50000000005406*helper_8 - 288*helper_9 + 18.833333333337016*y - 208*z + 160) + helper_10*(485.99999999995327*helper_2*y - 810.166666666727*helper_4 - 4.2597873040507641e-12*helper_5 + helper_7 + 161.99999999997226*helper_8 - 453.66666666666941*x - 226.83333333333377*y + 48) + 242.99999999997178*helper_2*helper_3 + helper_6*x*(242.99999999997192*helper_4 + 485.9999999999535*x + 161.99999999997269*y - 453.66666666667288))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2325const auto helper_1 = pow(helper_0, 3);
2326const auto helper_2 = pow(x, 2);
2327const auto helper_3 = pow(y, 2);
2328const auto helper_4 = x*y;
2329const auto helper_5 = pow(helper_0, 2);
2330const auto helper_6 = 26.999999999997939*helper_2;
2331result_0 = x*(helper_0*helper_4*(80.999999999990635*helper_4 + 107.99999999998967*x + 80.999999999986343*y - 151.2222222222243) - helper_1*(86.416666666671148*helper_0*x + 226.8333333333411*helper_0*y + 4.3011407915308443e-12*helper_3 + 118.83333333335135*helper_4 + 70.75000000000243*helper_5 - helper_6 + 162.02777777778317*x + 378.05555555556418*y + 93.027777777781452*z - 86.750000000002444) + 80.999999999990592*helper_2*helper_3 + helper_5*(107.99999999998961*helper_2*y + 80.99999999998613*helper_3*x - 4.2597873040507641e-12*helper_3 - 270.05555555557567*helper_4 + helper_6 - 75.611111111111569*x - 151.22222222222251*y + 16))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2332const auto helper_1 = pow(helper_0, 4);
2333const auto helper_2 = pow(x, 2);
2334const auto helper_3 = x*y;
2335const auto helper_4 = pow(y, 2);
2336const auto helper_5 = helper_4*x;
2337const auto helper_6 = pow(helper_0, 2);
2338result_0 = -1.0/3.0*x*(helper_0*helper_5*(161.99999999998127*helper_3 + 323.99999999996902*x + 161.99999999997269*y - 453.66666666667288) + helper_1*(424.50000000001455*helper_0*y + 259.25000000001342*helper_3 + 340.25000000001165*helper_4 - 384*helper_6 + 279.08333333334434*y - 576*z + 368) + 242.99999999997178*helper_2*pow(y, 3) + helper_6*y*(161.99999999998442*helper_2*y + 80.999999999993818*helper_2 - 405.0833333333635*helper_3 - 4.2597873040507641e-12*helper_4 + 80.99999999998613*helper_5 - 226.83333333333471*x - 226.83333333333377*y + 48))/helper_1;val.col(2) = result_0; }} break;
2339 case 23: {{const auto helper_0 = z - 1;
2340const auto helper_1 = pow(helper_0, 3);
2341const auto helper_2 = pow(helper_0, 2);
2342const auto helper_3 = pow(x, 2);
2343const auto helper_4 = pow(y, 2);
2344const auto helper_5 = x*y;
2345result_0 = -1.0/3.0*y*(3*helper_0*helper_5*(746.99999999996589*helper_5 + 818.99999999994498*x + 545.99999999996021*y + 193.22222222221856) + helper_1*(1013.4999999999288*helper_0*x + 506.7499999999593*helper_0*y + 306.74999999998562*helper_2 + 599.99999999993656*helper_3 + 199.99999999997408*helper_4 + 2651.499999999809*helper_5 + 1401.1666666665942*x + 700.58333333330063*y + 500.58333333331234*z - 290.74999999998283) + helper_2*(2456.9999999998336*helper_3*y + 599.99999999993611*helper_3 + 1637.9999999998779*helper_4*x + 199.99999999997442*helper_4 + 3231.1666666664669*helper_5 + 387.66666666667743*x + 193.83333333334664*y) + 16*helper_2 + 2240.9999999998968*helper_3*helper_4)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2346const auto helper_1 = pow(helper_0, 3);
2347const auto helper_2 = pow(helper_0, 2);
2348const auto helper_3 = pow(x, 2);
2349const auto helper_4 = pow(y, 2);
2350const auto helper_5 = x*y;
2351result_0 = -1.0/3.0*x*(3*helper_0*helper_5*(746.99999999996589*helper_5 + 545.99999999996328*x + 818.99999999994031*y + 193.22222222221856) + helper_1*(506.74999999996442*helper_0*x + 1013.4999999999186*helper_0*y + 306.74999999998562*helper_2 + 199.99999999997885*helper_3 + 599.99999999992224*helper_4 + 2651.499999999809*helper_5 + 700.58333333329711*x + 1401.1666666666013*y + 500.58333333331234*z - 290.74999999998283) + helper_2*(1637.999999999889*helper_3*y + 199.99999999997868*helper_3 + 2456.9999999998167*helper_4*x + 599.99999999992326*helper_4 + 3231.1666666664669*helper_5 + 193.83333333333871*x + 387.66666666669329*y) + 16*helper_2 + 2240.9999999998968*helper_3*helper_4)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2352const auto helper_1 = pow(helper_0, 4);
2353const auto helper_2 = pow(x, 2);
2354const auto helper_3 = pow(y, 2);
2355const auto helper_4 = x*y;
2356result_0 = (1.0/3.0)*helper_4*(pow(helper_0, 2)*(818.99999999994452*helper_2*y + 199.99999999997868*helper_2 + 818.99999999993895*helper_3*x + 199.99999999997442*helper_3 + 1615.5833333332334*helper_4 + 193.83333333333871*x + 193.83333333334664*y + 16) + helper_0*helper_4*(1493.9999999999318*helper_4 + 1637.99999999989*x + 1637.9999999998806*y + 579.66666666665571) - helper_1*(506.74999999996442*x + 506.7499999999593*y + 613.49999999997124*z - 112.9166666666589) + 2240.9999999998968*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2357 case 24: {{const auto helper_0 = z - 1;
2358const auto helper_1 = pow(helper_0, 3);
2359const auto helper_2 = pow(x, 2);
2360const auto helper_3 = pow(y, 2);
2361const auto helper_4 = x*y;
2362const auto helper_5 = pow(helper_0, 2);
2363result_0 = y*(helper_0*helper_4*(303.7499999999834*helper_4 + 411.74999999997357*x + 274.49999999997988*y + 305.74999999999795) + helper_1*(402.62499999998818*helper_0*x + 201.31249999999264*helper_0*y + 107.99999999999005*helper_2 + 35.999999999995374*helper_3 + 805.12499999996794*helper_4 + 165.31249999999744*helper_5 + 612.37499999998772*x + 306.1874999999938*y + 286.18749999999596*z - 153.31249999999648) + 303.7499999999834*helper_2*helper_3 + helper_5*(411.7499999999734*helper_2*y + 107.99999999999002*helper_2 + 274.49999999997925*helper_3*x + 35.999999999995403*helper_3 + 1110.8749999999661*helper_4 + 209.75000000000185*x + 104.87500000000209*y + 12))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2364const auto helper_1 = pow(helper_0, 3);
2365const auto helper_2 = pow(x, 2);
2366const auto helper_3 = pow(y, 2);
2367const auto helper_4 = x*y;
2368const auto helper_5 = pow(helper_0, 2);
2369result_0 = x*(helper_0*helper_4*(303.7499999999834*helper_4 + 274.49999999998238*x + 411.74999999996982*y + 305.74999999999795) + helper_1*(201.31249999999409*helper_0*x + 402.62499999998528*helper_0*y + 35.999999999996682*helper_2 + 107.99999999998613*helper_3 + 805.12499999996794*helper_4 + 165.31249999999744*helper_5 + 306.18749999999386*x + 612.37499999998761*y + 286.18749999999596*z - 153.31249999999648) + 303.7499999999834*helper_2*helper_3 + helper_5*(274.49999999998226*helper_2*y + 35.999999999996675*helper_2 + 411.74999999996885*helper_3*x + 107.99999999998622*helper_3 + 1110.8749999999661*helper_4 + 104.87500000000092*x + 209.75000000000418*y + 12))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2370const auto helper_1 = pow(helper_0, 4);
2371const auto helper_2 = pow(x, 2);
2372const auto helper_3 = pow(y, 2);
2373const auto helper_4 = x*y;
2374result_0 = -helper_4*(pow(helper_0, 2)*(137.24999999999113*helper_2*y + 35.999999999996675*helper_2 + 137.24999999998963*helper_3*x + 35.999999999995403*helper_3 + 555.43749999998306*helper_4 + 104.87500000000092*x + 104.87500000000209*y + 12) + helper_0*helper_4*(202.49999999998894*helper_4 + 274.49999999998238*x + 274.49999999997988*y + 305.74999999999795) - helper_1*(201.31249999999409*x + 201.31249999999264*y + 330.62499999999488*z - 44.43749999999892) + 303.7499999999834*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2375 case 25: {{const auto helper_0 = z - 1;
2376const auto helper_1 = pow(helper_0, 3);
2377const auto helper_2 = pow(x, 2);
2378const auto helper_3 = pow(y, 2);
2379const auto helper_4 = x*y;
2380const auto helper_5 = pow(helper_0, 2);
2381result_0 = -y*(helper_0*helper_4*(80.999999999998124*helper_4 + 80.999999999997655*x + 53.999999999996966*y + 151.22222222222058) + helper_1*(226.83333333333073*helper_0*x + 113.41666666666458*helper_0*y - 4.9070211091718579e-13*helper_2 - 8.9202857267964244e-13*helper_3 + 280.83333333332763*helper_4 + 156.08333333333223*helper_5 + 378.05555555555168*x + 189.02777777777536*y + 285.02777777777567*z - 140.08333333333184) + 80.999999999998096*helper_2*helper_3 + helper_5*(80.999999999997598*helper_2*y - 5.0273091825712106e-13*helper_2 + 53.999999999996874*helper_3*x - 8.8965469358936342e-13*helper_3 + 432.05555555554827*helper_4 + 151.22222222222132*x + 75.611111111110972*y + 16))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2382const auto helper_1 = pow(helper_0, 3);
2383const auto helper_2 = pow(x, 2);
2384const auto helper_3 = pow(y, 2);
2385const auto helper_4 = x*y;
2386const auto helper_5 = pow(helper_0, 2);
2387result_0 = -x*(helper_0*helper_4*(80.999999999998124*helper_4 + 53.999999999998437*x + 80.999999999995453*y + 151.22222222222058) + helper_1*(113.41666666666536*helper_0*x + 226.83333333332916*helper_0*y - 1.635673703057286e-13*helper_2 - 2.6760857180389275e-12*helper_3 + 280.83333333332763*helper_4 + 156.08333333333223*helper_5 + 189.02777777777584*x + 378.05555555555071*y + 285.02777777777567*z - 140.08333333333184) + 80.999999999998096*helper_2*helper_3 + helper_5*(53.999999999998401*helper_2*y - 1.6757697275237367e-13*helper_2 + 80.99999999999531*helper_3*x - 2.6689640807680903e-12*helper_3 + 432.05555555554827*helper_4 + 75.61111111111066*x + 151.22222222222194*y + 16))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2388const auto helper_1 = pow(helper_0, 4);
2389const auto helper_2 = pow(x, 2);
2390const auto helper_3 = pow(y, 2);
2391const auto helper_4 = x*y;
2392result_0 = helper_4*(pow(helper_0, 2)*(26.999999999999201*helper_2*y - 1.6757697275237367e-13*helper_2 + 26.999999999998437*helper_3*x - 8.8965469358936342e-13*helper_3 + 216.02777777777413*helper_4 + 75.61111111111066*x + 75.611111111110972*y + 16) + helper_0*helper_4*(53.999999999998749*helper_4 + 53.999999999998437*x + 53.999999999996966*y + 151.22222222222058) - helper_1*(113.41666666666536*x + 113.41666666666458*y + 312.16666666666447*z - 27.1388888888888) + 80.999999999998096*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2393 case 26: {{const auto helper_0 = z - 1;
2394const auto helper_1 = pow(helper_0, 3);
2395const auto helper_2 = pow(helper_0, 2);
2396const auto helper_3 = pow(x, 2);
2397const auto helper_4 = pow(y, 2);
2398const auto helper_5 = x*y;
2399result_0 = (1.0/3.0)*y*(3*helper_0*helper_5*(746.9999999999734*helper_5 + 818.99999999995453*x + 947.99999999996771*y - 193.22222222222308) + helper_1*(186.49999999994549*helper_0*x + 312.24999999996902*helper_0*y - 106.75000000000773*helper_2 + 599.99999999994236*helper_3 + 802.99999999997749*helper_4 + 2262.4999999998472*helper_5 - 201.16666666671347*x - 73.583333333351305*y - 300.58333333334315*z + 122.75000000001023) + helper_2*(2456.9999999998618*helper_3*y + 599.99999999994179*helper_3 + 2843.9999999999*helper_4*x + 802.99999999997794*helper_4 + 1682.8333333331823*helper_5 - 387.66666666664588*x - 385.83333333331501*y) + 16*helper_2 + 2240.99999999992*helper_3*helper_4)/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2400const auto helper_1 = pow(helper_0, 3);
2401const auto helper_2 = pow(x, 3);
2402const auto helper_3 = pow(y, 2);
2403const auto helper_4 = pow(helper_0, 2)*x;
2404const auto helper_5 = x*y;
2405const auto helper_6 = pow(x, 2);
2406const auto helper_7 = helper_6*y;
2407const auto helper_8 = helper_3*x;
2408const auto helper_9 = 192*y;
2409const auto helper_10 = 384*helper_3;
2410result_0 = (1.0/9.0)*(3*helper_0*helper_7*(2240.99999999992*helper_5 + 1637.9999999999091*x + 4265.9999999998545*y - 579.66666666666924) + 3*helper_1*(helper_0*helper_10 + 624.49999999993804*helper_0*helper_5 + 93.249999999972744*helper_0*helper_6 - helper_0*helper_9 - 300.58333333334315*helper_0*x + helper_10 + 199.99999999998079*helper_2 - 106.75000000000773*helper_4 - 147.16666666670261*helper_5 - 100.58333333335673*helper_6 + 2262.4999999998472*helper_7 + 2408.9999999999327*helper_8 - helper_9 - 177.83333333333294*x + 16*z) + 6722.9999999997599*helper_2*helper_3 + 3*helper_4*(2408.9999999999336*helper_3 + 1682.8333333331823*helper_5 + 199.99999999998062*helper_6 + 1637.9999999999079*helper_7 + 4265.9999999998499*helper_8 - 193.83333333332294*x - 771.66666666663002*y) + 48*helper_4)/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2411const auto helper_1 = pow(helper_0, 4);
2412const auto helper_2 = pow(y, 2);
2413const auto helper_3 = x*y;
2414const auto helper_4 = pow(x, 2);
2415const auto helper_5 = helper_4*y;
2416result_0 = -1.0/3.0*y*(pow(helper_0, 2)*x*(1421.99999999995*helper_2*x + 802.99999999997794*helper_2 + 841.41666666659114*helper_3 + 199.99999999998062*helper_4 + 818.99999999995396*helper_5 - 193.83333333332294*x - 385.83333333331501*y + 16) + helper_0*helper_5*(1493.9999999999468*helper_3 + 1637.9999999999091*x + 2843.9999999999031*y - 579.66666666666924) - helper_1*(-213.50000000001546*helper_0*x + 128*helper_2 + 312.24999999996902*helper_3 + 93.249999999972744*helper_4 - 300.58333333334315*x - 96*y + 16) + 2240.99999999992*helper_2*pow(x, 3))/helper_1;val.col(2) = result_0; }} break;
2417 case 27: {{const auto helper_0 = z - 1;
2418const auto helper_1 = pow(helper_0, 3);
2419const auto helper_2 = pow(x, 2);
2420const auto helper_3 = pow(y, 2);
2421const auto helper_4 = x*y;
2422const auto helper_5 = pow(helper_0, 2);
2423result_0 = -y*(helper_0*helper_4*(303.7499999999859*helper_4 + 411.74999999997533*x + 332.9999999999842*y - 305.75000000000233) - helper_1*(186.6250000000131*helper_0*x + 192.06250000000637*helper_0*y - 107.99999999998937*helper_2 - 65.249999999996689*helper_3 - 18.374999999971074*helper_4 + 129.31250000000301*helper_5 + 396.3750000000145*x + 392.93750000000557*y + 218.18750000000438*z - 141.31250000000315) + 303.7499999999859*helper_2*helper_3 + helper_5*(411.74999999997527*helper_2*y + 107.9999999999893*helper_2 + 332.99999999998357*helper_3*x + 65.249999999996732*helper_3 - 287.37500000003092*helper_4 - 209.74999999999918*x - 200.87499999999832*y + 12))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2424const auto helper_1 = pow(helper_0, 3);
2425const auto helper_2 = pow(x, 3);
2426const auto helper_3 = pow(y, 2);
2427const auto helper_4 = pow(x, 2);
2428const auto helper_5 = x*y;
2429const auto helper_6 = helper_0*y;
2430const auto helper_7 = helper_3*x;
2431const auto helper_8 = helper_4*y;
2432const auto helper_9 = pow(helper_0, 2);
2433const auto helper_10 = helper_9*x;
2434result_0 = -(-helper_1*(93.312500000006551*helper_0*helper_4 + 218.18750000000438*helper_0*x + 129.31250000000301*helper_10 - 35.999999999996454*helper_2 + 198.18750000000725*helper_4 + 785.87500000001114*helper_5 + 384.12500000001273*helper_6*x + 224*helper_6 - 195.74999999999005*helper_7 - 18.374999999971074*helper_8 + 128*helper_9*y - 16*helper_9 + 76.875000000001222*x + 96*y - 28*z + 16) + helper_10*(195.74999999999019*helper_3 + 35.999999999996433*helper_4 - 287.37500000003092*helper_5 + 499.49999999997533*helper_7 + 274.49999999998352*helper_8 - 104.87499999999959*x - 401.74999999999665*y + 12) + 303.7499999999859*helper_2*helper_3 + helper_4*helper_6*(303.7499999999859*helper_5 + 274.49999999998357*x + 499.4999999999763*y - 305.75000000000233))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2435const auto helper_1 = pow(helper_0, 4);
2436const auto helper_2 = pow(y, 2);
2437const auto helper_3 = pow(x, 2);
2438const auto helper_4 = x*y;
2439const auto helper_5 = helper_0*y;
2440result_0 = y*(pow(helper_0, 2)*x*(166.49999999999179*helper_2*x + 65.249999999996732*helper_2 + 137.24999999999176*helper_3*y + 35.999999999996433*helper_3 - 143.68750000001546*helper_4 - 104.87499999999959*x - 200.87499999999832*y + 12) + helper_1*(258.62500000000603*helper_0*x + 93.312500000006551*helper_3 + 192.06250000000637*helper_4 + 128*helper_5 + 218.18750000000438*x + 112*y - 32*z + 4) + 303.7499999999859*helper_2*pow(x, 3) + helper_3*helper_5*(202.49999999999062*helper_4 + 274.49999999998357*x + 332.9999999999842*y - 305.75000000000233))/helper_1;val.col(2) = result_0; }} break;
2441 case 28: {{const auto helper_0 = z - 1;
2442const auto helper_1 = pow(helper_0, 3);
2443const auto helper_2 = pow(x, 2);
2444const auto helper_3 = pow(y, 2);
2445const auto helper_4 = x*y;
2446const auto helper_5 = pow(helper_0, 2);
2447result_0 = y*(helper_0*helper_4*(80.999999999996135*helper_4 + 80.999999999993449*x + 107.99999999999596*y - 151.22222222222226) - helper_1*(226.83333333333587*helper_0*x + 86.416666666667751*helper_0*y + 2.7221053942458628e-12*helper_2 - 26.999999999999236*helper_3 + 118.83333333333987*helper_4 + 70.750000000000341*helper_5 + 378.05555555555804*x + 162.02777777777848*y + 93.027777777778141*z - 86.750000000000313) + 80.99999999999612*helper_2*helper_3 + helper_5*(80.999999999993406*helper_2*y - 2.7338287160697451e-12*helper_2 + 107.99999999999581*helper_3*x + 26.99999999999925*helper_3 - 270.05555555556185*helper_4 - 151.2222222222218*x - 75.611111111110532*y + 16))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2448const auto helper_1 = pow(helper_0, 3);
2449const auto helper_2 = pow(x, 3);
2450const auto helper_3 = pow(y, 2);
2451const auto helper_4 = x*y;
2452const auto helper_5 = pow(x, 2);
2453const auto helper_6 = helper_0*helper_5;
2454const auto helper_7 = helper_3*x;
2455const auto helper_8 = helper_5*y;
2456const auto helper_9 = pow(helper_0, 2);
2457const auto helper_10 = helper_9*x;
2458const auto helper_11 = helper_0*x;
2459result_0 = (1.0/3.0)*(-helper_1*(-128*helper_1 + 212.25000000000102*helper_10 + 518.50000000000648*helper_11*y + 279.08333333333439*helper_11 + 2.7221053942458628e-12*helper_2 + 972.16666666667084*helper_4 + 567.08333333333712*helper_5 + 340.25000000000381*helper_6 - 242.99999999999312*helper_7 + 356.50000000001961*helper_8 - 288*helper_9 + 18.833333333333499*x - 208*z + 160) + helper_10*(242.99999999999326*helper_3 - 810.16666666668561*helper_4 - 2.7338287160697451e-12*helper_5 + 485.99999999998113*helper_7 + 161.99999999998681*helper_8 - 226.83333333333269*x - 453.66666666666322*y + 48) + 242.99999999998832*helper_2*helper_3 + helper_6*y*(242.9999999999884*helper_4 + 161.9999999999869*x + 485.99999999998181*y - 453.66666666666674))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2460const auto helper_1 = pow(helper_0, 4);
2461const auto helper_2 = pow(y, 2);
2462const auto helper_3 = x*y;
2463const auto helper_4 = pow(x, 2);
2464const auto helper_5 = helper_4*y;
2465const auto helper_6 = pow(helper_0, 2);
2466result_0 = -1.0/3.0*y*(helper_0*helper_5*(161.99999999999227*helper_3 + 161.9999999999869*x + 323.99999999998789*y - 453.66666666666674) + helper_1*(424.50000000000205*helper_0*x + 259.25000000000324*helper_3 + 340.25000000000381*helper_4 - 384*helper_6 + 279.08333333333439*x - 576*z + 368) + 242.99999999998832*helper_2*pow(x, 3) + helper_6*x*(161.99999999999372*helper_2*x + 80.999999999997755*helper_2 - 405.08333333334281*helper_3 - 2.7338287160697451e-12*helper_4 + 80.999999999993406*helper_5 - 226.83333333333269*x - 226.83333333333161*y + 48))/helper_1;val.col(2) = result_0; }} break;
2467 case 29: {{const auto helper_0 = z - 1;
2468const auto helper_1 = pow(helper_0, 3);
2469const auto helper_2 = pow(x, 2);
2470const auto helper_3 = pow(y, 3);
2471const auto helper_4 = pow(y, 2);
2472const auto helper_5 = x*y;
2473const auto helper_6 = helper_0*x;
2474const auto helper_7 = 2111.9999999998918*helper_2;
2475const auto helper_8 = helper_4*x;
2476const auto helper_9 = pow(helper_0, 2);
2477const auto helper_10 = helper_9*y;
2478const auto helper_11 = 384*helper_2;
2479result_0 = (helper_1*(helper_0*helper_11 + 819.9999999999269*helper_0*helper_4 + 686.66666666664048*helper_0*y + 128*helper_1 + 587.99999999997874*helper_10 + helper_11 + 359.9999999999493*helper_3 + 886.66666666661342*helper_4 + 2781.3333333332353*helper_5 + 2583.9999999998854*helper_6*y + 576*helper_6 + helper_7*y + 3943.999999999684*helper_8 + 512*helper_9*x + 160*helper_9 + 64*x + 98.666666666671404*y + 32*z - 32) + helper_10*(3455.9999999997417*helper_2*y + 359.99999999994981*helper_4 + 4077.3333333330179*helper_5 + helper_7 + 1871.9999999997956*helper_8 + 197.33333333336822*x + 66.666666666688542*y) + 1727.9999999998486*helper_2*helper_3 + helper_4*helper_6*(1727.9999999998493*helper_5 + 3455.9999999997422*x + 1871.9999999997985*y + 133.3333333333351))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2480const auto helper_1 = pow(helper_0, 3);
2481const auto helper_2 = pow(x, 2);
2482const auto helper_3 = pow(y, 2);
2483const auto helper_4 = x*y;
2484const auto helper_5 = pow(helper_0, 2);
2485const auto helper_6 = 703.99999999996385*helper_2;
2486result_0 = x*(helper_0*helper_4*(1727.9999999998493*helper_4 + 2303.9999999998281*x + 2807.999999999698*y + 133.3333333333351) + helper_1*(1291.9999999999427*helper_0*x + 1639.9999999998538*helper_0*y + 1079.9999999998479*helper_3 + 3943.999999999684*helper_4 + 587.99999999997874*helper_5 + helper_6 + 1390.6666666666176*x + 1773.3333333332268*y + 686.66666666664048*z - 587.99999999996908) + 1727.9999999998486*helper_2*helper_3 + helper_5*(2303.9999999998277*helper_2*y + 2807.9999999996935*helper_3*x + 1079.9999999998495*helper_3 + 4077.3333333330179*helper_4 + helper_6 + 98.666666666684108*x + 133.33333333337708*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2487const auto helper_1 = pow(helper_0, 4);
2488const auto helper_2 = pow(x, 2);
2489const auto helper_3 = pow(y, 2);
2490const auto helper_4 = x*y;
2491const auto helper_5 = helper_0*x;
2492const auto helper_6 = pow(helper_0, 2);
2493result_0 = -x*(-helper_1*(1175.9999999999575*helper_0*y + 128*helper_2 + 819.9999999999269*helper_3 + 1291.9999999999427*helper_4 + 512*helper_5 + 384*helper_6 + 288*x + 686.66666666664048*y + 320*z - 288) + 1727.9999999998486*helper_2*pow(y, 3) + helper_3*helper_5*(1151.9999999998995*helper_4 + 2303.9999999998281*x + 1871.9999999997985*y + 133.3333333333351) + helper_6*y*(1151.9999999999138*helper_2*y + 703.99999999996385*helper_2 + 935.9999999998978*helper_3*x + 359.99999999994981*helper_3 + 2038.6666666665089*helper_4 + 98.666666666684108*x + 66.666666666688542*y))/helper_1;val.col(2) = result_0; }} break;
2494 case 30: {{const auto helper_0 = z - 1;
2495const auto helper_1 = pow(helper_0, 3);
2496const auto helper_2 = pow(x, 2);
2497const auto helper_3 = pow(y, 3);
2498const auto helper_4 = pow(y, 2);
2499const auto helper_5 = x*y;
2500const auto helper_6 = helper_0*x;
2501const auto helper_7 = helper_4*x;
2502const auto helper_8 = helper_2*y;
2503const auto helper_9 = pow(helper_0, 2);
2504const auto helper_10 = helper_9*y;
2505result_0 = (-helper_1*(139.99999999999503*helper_0*helper_4 + 625.33333333332757*helper_0*y + 128*helper_1 + 339.99999999999642*helper_10 - 72.000000000001322*helper_3 + 329.33333333332621*helper_4 + 1250.6666666666531*helper_5 + 679.99999999999022*helper_6*y + 448*helper_6 + 279.99999999998249*helper_7 - 3.9976413871777339e-12*helper_8 + 256*helper_9*x + 224*helper_9 + 192*x + 285.3333333333315*y + 96*z - 96) + helper_10*(3.9976413871777347e-12*helper_2 + 72.00000000000135*helper_4 - 658.66666666664491*helper_5 + 144.00000000000747*helper_7 + 1.1322961391825898e-11*helper_8 - 570.66666666666288*x - 189.33333333333124*y) + 7.3253200046481606e-12*helper_2*helper_3 + helper_4*helper_6*(7.3253200046481623e-12*helper_5 + 1.1322961391825898e-11*x + 144.00000000000759*y - 378.66666666666259))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2506const auto helper_1 = pow(helper_0, 3);
2507const auto helper_2 = pow(x, 2);
2508const auto helper_3 = pow(y, 2);
2509const auto helper_4 = x*y;
2510const auto helper_5 = pow(helper_0, 2);
2511result_0 = x*(helper_0*helper_4*(7.3253200046481623e-12*helper_4 + 7.5486409278839318e-12*x + 216.00000000001137*y - 378.66666666666259) - helper_1*(339.99999999999511*helper_0*x + 279.99999999999005*helper_0*y - 1.3325471290592446e-12*helper_2 - 216.00000000000398*helper_3 + 279.99999999998249*helper_4 + 339.99999999999642*helper_5 + 625.33333333332655*x + 658.66666666665242*y + 625.33333333332757*z - 339.99999999999608) + 7.3253200046481606e-12*helper_2*helper_3 + helper_5*(7.5486409278839318e-12*helper_2*y + 1.3325471290592448e-12*helper_2 + 216.0000000000112*helper_3*x + 216.00000000000404*helper_3 - 658.66666666664491*helper_4 - 285.33333333333144*x - 378.66666666666248*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2512const auto helper_1 = pow(helper_0, 4);
2513const auto helper_2 = pow(x, 2);
2514const auto helper_3 = x*y;
2515const auto helper_4 = pow(y, 2);
2516const auto helper_5 = helper_4*x;
2517const auto helper_6 = pow(helper_0, 2);
2518result_0 = -x*(helper_0*helper_5*(4.8835466697654418e-12*helper_3 + 7.5486409278839318e-12*x + 144.00000000000759*y - 378.66666666666259) + helper_1*(256*helper_0*x + 679.99999999999284*helper_0*y + 339.99999999999511*helper_3 + 139.99999999999503*helper_4 + 384*helper_6 + 224*x + 625.33333333332757*y + 448*z - 352) + 7.3253200046481606e-12*helper_2*pow(y, 3) + helper_6*y*(3.7743204639419659e-12*helper_2*y + 1.3325471290592448e-12*helper_2 - 329.33333333332246*helper_3 + 72.00000000000135*helper_4 + 72.000000000003737*helper_5 - 285.33333333333144*x - 189.33333333333124*y))/helper_1;val.col(2) = result_0; }} break;
2519 case 31: {{const auto helper_0 = z - 1;
2520const auto helper_1 = pow(helper_0, 3);
2521const auto helper_2 = pow(x, 2);
2522const auto helper_3 = pow(y, 3);
2523const auto helper_4 = pow(y, 2);
2524const auto helper_5 = x*y;
2525const auto helper_6 = helper_0*x;
2526const auto helper_7 = 2111.99999999989*helper_2;
2527const auto helper_8 = helper_4*x;
2528const auto helper_9 = pow(helper_0, 2);
2529const auto helper_10 = helper_9*y;
2530const auto helper_11 = 384*helper_2;
2531const auto helper_12 = -helper_0;
2532result_0 = -(helper_1*(17.333333333304179*helper_0*y + 115.99999999997674*helper_10 - helper_11*helper_12 + helper_11 - 331.99999999992548*helper_12*helper_4 + 215.99999999994984*helper_3 + 265.33333333327738*helper_4 + 1442.6666666665596*helper_5 + 1639.9999999998797*helper_6*y + 192*helper_6 + helper_7*y + 2967.9999999996771*helper_8 + 256*helper_9*x - 32*helper_9 - 64*x - 98.666666666663886*y - 32*z + 32) + helper_10*(3455.9999999997335*helper_2*y + 215.99999999995015*helper_4 + 2834.6666666663405*helper_5 + helper_7 + 1583.9999999997933*helper_8 - 197.33333333330231*x - 66.666666666646577*y) + 1727.999999999844*helper_2*helper_3 + helper_4*helper_6*(1727.9999999998445*helper_5 + 3455.9999999997353*x + 1583.9999999997967*y - 133.33333333333411))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2533const auto helper_1 = pow(helper_0, 3);
2534const auto helper_2 = pow(x, 2);
2535const auto helper_3 = pow(y, 2);
2536const auto helper_4 = x*y;
2537const auto helper_5 = pow(helper_0, 2);
2538const auto helper_6 = 703.99999999996328*helper_2;
2539result_0 = -x*(helper_0*helper_4*(1727.9999999998445*helper_4 + 2303.9999999998236*x + 2375.9999999996953*y - 133.33333333333411) + helper_1*(819.99999999993986*helper_0*x + 663.99999999985096*helper_0*y + 647.99999999984948*helper_3 + 2967.9999999996771*helper_4 + 115.99999999997674*helper_5 + helper_6 + 721.33333333327982*x + 530.66666666655476*y + 17.333333333304179*z - 115.99999999996807) + 1727.999999999844*helper_2*helper_3 + helper_5*(2303.9999999998222*helper_2*y + 2375.9999999996899*helper_3*x + 647.99999999985039*helper_3 + 2834.6666666663405*helper_4 + helper_6 - 98.666666666651153*x - 133.33333333329315*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2540const auto helper_1 = pow(helper_0, 4);
2541const auto helper_2 = pow(x, 2);
2542const auto helper_3 = pow(y, 2);
2543const auto helper_4 = x*y;
2544const auto helper_5 = helper_0*x;
2545result_0 = x*(pow(helper_0, 2)*y*(1151.9999999999111*helper_2*y + 703.99999999996328*helper_2 + 791.99999999989666*helper_3*x + 215.99999999995015*helper_3 + 1417.3333333331702*helper_4 - 98.666666666651153*x - 66.666666666646577*y) - helper_1*(231.99999999995347*helper_0*y + 128*helper_2 + 331.99999999992548*helper_3 + 819.99999999993986*helper_4 + 256*helper_5 + 96*x + 17.333333333304179*y - 64*z + 32) + 1727.999999999844*helper_2*pow(y, 3) + helper_3*helper_5*(1151.9999999998963*helper_4 + 2303.9999999998236*x + 1583.9999999997967*y - 133.33333333333411))/helper_1;val.col(2) = result_0; }} break;
2546 case 32: {{const auto helper_0 = z - 1;
2547const auto helper_1 = pow(helper_0, 3);
2548const auto helper_2 = pow(x, 2);
2549const auto helper_3 = pow(y, 2);
2550const auto helper_4 = x*y;
2551const auto helper_5 = pow(helper_0, 2);
2552result_0 = -y*(helper_0*helper_4*(1727.999999999882*helper_4 + 2807.9999999998072*x + 1151.9999999998722*y - 133.33333333335128) + helper_1*(519.99999999990405*helper_0*x + 155.99999999995177*helper_0*y + 1079.9999999999247*helper_2 + 127.99999999997524*helper_3 + 1671.9999999997772*helper_4 + 27.999999999977195*helper_5 + 386.66666666656164*x + 121.33333333328886*y - 6.6666666667010821*z - 27.999999999974897) + 1727.9999999998813*helper_2*helper_3 + helper_5*(2807.9999999998072*helper_2*y + 1079.9999999999243*helper_2 + 1151.9999999998695*helper_3*x + 127.99999999997544*helper_3 + 1538.6666666664248*helper_4 - 133.33333333332843*x - 34.666666666656972*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2553const auto helper_1 = pow(helper_0, 3);
2554const auto helper_2 = pow(x, 2);
2555const auto helper_3 = pow(y, 2);
2556const auto helper_4 = x*y;
2557const auto helper_5 = pow(helper_0, 2);
2558result_0 = -x*(helper_0*helper_4*(1727.999999999882*helper_4 + 1871.9999999998715*x + 1727.9999999998083*y - 133.33333333335128) + helper_1*(259.99999999995202*helper_0*x + 311.99999999990354*helper_0*y + 359.99999999997493*helper_2 + 383.99999999992576*helper_3 + 1671.9999999997772*helper_4 + 27.999999999977195*helper_5 + 193.33333333328082*x + 242.66666666657773*y - 6.6666666667010821*z - 27.999999999974897) + 1727.9999999998813*helper_2*helper_3 + helper_5*(1871.9999999998715*helper_2*y + 359.99999999997476*helper_2 + 1727.9999999998042*helper_3*x + 383.99999999992633*helper_3 + 1538.6666666664248*helper_4 - 66.666666666664213*x - 69.333333333313945*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2559const auto helper_1 = pow(helper_0, 4);
2560const auto helper_2 = pow(x, 2);
2561const auto helper_3 = pow(y, 2);
2562const auto helper_4 = x*y;
2563result_0 = helper_4*(pow(helper_0, 2)*(935.99999999993577*helper_2*y + 359.99999999997476*helper_2 + 575.99999999993474*helper_3*x + 127.99999999997544*helper_3 + 769.33333333321241*helper_4 - 66.666666666664213*x - 34.666666666656972*y) + helper_0*helper_4*(1151.9999999999213*helper_4 + 1871.9999999998715*x + 1151.9999999998722*y - 133.33333333335128) - helper_1*(259.99999999995202*x + 155.99999999995177*y + 55.99999999995439*z - 62.666666666655473) + 1727.9999999998813*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2564 case 33: {{const auto helper_0 = z - 1;
2565const auto helper_1 = pow(helper_0, 3);
2566const auto helper_2 = pow(x, 2);
2567const auto helper_3 = pow(y, 2);
2568const auto helper_4 = x*y;
2569const auto helper_5 = pow(helper_0, 2);
2570result_0 = y*(helper_0*helper_4*(1.0207229215691162e-11*helper_4 - 215.99999999998388*x + 1.1365036666756133e-11*y - 378.66666666666362) - helper_1*(711.9999999999892*helper_0*x + 155.99999999999426*helper_0*y + 215.99999999999403*helper_2 - 2.2533251816107851e-12*helper_3 + 711.9999999999776*helper_4 + 155.99999999999662*helper_5 + 1090.6666666666547*x + 249.33333333332683*y + 249.33333333332783*z - 155.99999999999585) + 1.0207229215691163e-11*helper_2*helper_3 - helper_5*(215.99999999998386*helper_2*y + 215.99999999999409*helper_2 - 1.1434970130872929e-11*helper_3*x - 2.254333573092863e-12*helper_3 + 1090.6666666666408*helper_4 + 378.66666666666583*x + 93.333333333332973*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2571const auto helper_1 = pow(helper_0, 3);
2572const auto helper_2 = pow(x, 2);
2573const auto helper_3 = pow(y, 2);
2574const auto helper_4 = x*y;
2575const auto helper_5 = pow(helper_0, 2);
2576result_0 = x*(helper_0*helper_4*(1.0207229215691162e-11*helper_4 - 143.99999999998926*x + 1.70475550001342e-11*y - 378.66666666666362) - helper_1*(355.9999999999946*helper_0*x + 311.99999999998852*helper_0*y + 71.99999999999801*helper_2 - 6.7599755448323554e-12*helper_3 + 711.9999999999776*helper_4 + 155.99999999999662*helper_5 + 545.33333333332735*x + 498.66666666665367*y + 249.33333333332783*z - 155.99999999999585) + 1.0207229215691163e-11*helper_2*helper_3 - helper_5*(143.99999999998923*helper_2*y + 71.999999999998025*helper_2 - 1.7152455196309394e-11*helper_3*x - 6.7630007192785894e-12*helper_3 + 1090.6666666666408*helper_4 + 189.33333333333292*x + 186.66666666666595*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2577const auto helper_1 = pow(helper_0, 4);
2578const auto helper_2 = pow(x, 2);
2579const auto helper_3 = pow(y, 2);
2580const auto helper_4 = x*y;
2581result_0 = -helper_4*(-pow(helper_0, 2)*(71.999999999994614*helper_2*y + 71.999999999998025*helper_2 - 5.7174850654364646e-12*helper_3*x - 2.254333573092863e-12*helper_3 + 545.33333333332041*helper_4 + 189.33333333333292*x + 93.333333333332973*y) + helper_0*helper_4*(6.8048194771274409e-12*helper_4 - 143.99999999998926*x + 1.1365036666756133e-11*y - 378.66666666666362) + helper_1*(355.9999999999946*x + 155.99999999999426*y + 311.99999999999324*z - 62.666666666665407) + 1.0207229215691163e-11*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2582 case 34: {{const auto helper_0 = z - 1;
2583const auto helper_1 = pow(helper_0, 3);
2584const auto helper_2 = pow(x, 2);
2585const auto helper_3 = pow(y, 2);
2586const auto helper_4 = x*y;
2587const auto helper_5 = pow(helper_0, 2);
2588result_0 = y*(helper_0*helper_4*(1727.9999999999011*helper_4 + 2375.9999999998386*x + 1151.99999999989*y + 133.33333333332189) + helper_1*(631.9999999999269*helper_0*x + 227.99999999996137*helper_0*y + 647.99999999993713*helper_2 + 127.99999999997753*helper_3 + 1783.9999999998165*helper_4 + 99.999999999984396*helper_5 + 765.33333333325561*x + 262.66666666663366*y + 134.66666666664349*z - 99.999999999982123) + 1727.9999999999013*helper_2*helper_3 + helper_5*(2375.9999999998381*helper_2*y + 647.9999999999369*helper_2 + 1151.9999999998872*helper_3*x + 127.99999999997777*helper_3 + 1917.3333333331395*helper_4 + 133.33333333334076*x + 34.666666666677592*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2589const auto helper_1 = pow(helper_0, 3);
2590const auto helper_2 = pow(x, 2);
2591const auto helper_3 = pow(y, 2);
2592const auto helper_4 = x*y;
2593const auto helper_5 = pow(helper_0, 2);
2594result_0 = x*(helper_0*helper_4*(1727.9999999999011*helper_4 + 1583.9999999998925*x + 1727.9999999998349*y + 133.33333333332189) + helper_1*(315.99999999996345*helper_0*x + 455.99999999992275*helper_0*y + 215.99999999997905*helper_2 + 383.99999999993258*helper_3 + 1783.9999999998165*helper_4 + 99.999999999984396*helper_5 + 382.6666666666278*x + 525.33333333326732*y + 134.66666666664349*z - 99.999999999982123) + 1727.9999999999013*helper_2*helper_3 + helper_5*(1583.9999999998922*helper_2*y + 215.99999999997897*helper_2 + 1727.9999999998308*helper_3*x + 383.99999999993332*helper_3 + 1917.3333333331395*helper_4 + 66.66666666667038*x + 69.333333333355185*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2595const auto helper_1 = pow(helper_0, 4);
2596const auto helper_2 = pow(x, 2);
2597const auto helper_3 = pow(y, 2);
2598const auto helper_4 = x*y;
2599result_0 = -helper_4*(pow(helper_0, 2)*(791.99999999994611*helper_2*y + 215.99999999997897*helper_2 + 575.99999999994361*helper_3*x + 127.99999999997777*helper_3 + 958.66666666656977*helper_4 + 66.66666666667038*x + 34.666666666677592*y) + helper_0*helper_4*(1151.9999999999341*helper_4 + 1583.9999999998925*x + 1151.99999999989*y + 133.33333333332189) - helper_1*(315.99999999996345*x + 227.99999999996137*y + 199.99999999996879*z - 65.333333333325299) + 1727.9999999999013*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2600 case 35: {{const auto helper_0 = z - 1;
2601const auto helper_1 = pow(helper_0, 3);
2602const auto helper_2 = pow(x, 2);
2603const auto helper_3 = pow(y, 2);
2604const auto helper_4 = x*y;
2605const auto helper_5 = pow(helper_0, 2);
2606result_0 = y*(helper_0*helper_4*(1727.9999999999322*helper_4 + 1727.9999999998888*x + 1583.99999999992*y + 133.33333333332698) + helper_1*(455.99999999995259*helper_0*x + 315.99999999997277*helper_0*y + 383.99999999995543*helper_2 + 215.99999999998201*helper_3 + 1783.999999999872*helper_4 + 99.999999999991189*helper_5 + 525.33333333328665*x + 382.66666666664634*y + 134.66666666665424*z - 99.999999999989342) + 1727.9999999999322*helper_2*helper_3 + helper_5*(1727.9999999998877*helper_2*y + 383.99999999995521*helper_2 + 1583.9999999999172*helper_3*x + 215.99999999998221*helper_3 + 1917.3333333332012*helper_4 + 69.333333333343077*x + 66.666666666677415*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2607const auto helper_1 = pow(helper_0, 3);
2608const auto helper_2 = pow(x, 2);
2609const auto helper_3 = pow(y, 2);
2610const auto helper_4 = x*y;
2611const auto helper_5 = pow(helper_0, 2);
2612result_0 = x*(helper_0*helper_4*(1727.9999999999322*helper_4 + 1151.9999999999259*x + 2375.9999999998799*y + 133.33333333332698) + helper_1*(227.9999999999763*helper_0*x + 631.99999999994554*helper_0*y + 127.99999999998515*helper_2 + 647.999999999946*helper_3 + 1783.999999999872*helper_4 + 99.999999999991189*helper_5 + 262.66666666664332*x + 765.33333333329267*y + 134.66666666665424*z - 99.999999999989342) + 1727.9999999999322*helper_2*helper_3 + helper_5*(1151.9999999999252*helper_2*y + 127.99999999998506*helper_2 + 2375.9999999998759*helper_3*x + 647.99999999994657*helper_3 + 1917.3333333332012*helper_4 + 34.666666666671539*x + 133.33333333335483*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2613const auto helper_1 = pow(helper_0, 4);
2614const auto helper_2 = pow(x, 2);
2615const auto helper_3 = pow(y, 2);
2616const auto helper_4 = x*y;
2617result_0 = -helper_4*(pow(helper_0, 2)*(575.9999999999626*helper_2*y + 127.99999999998506*helper_2 + 791.99999999995862*helper_3*x + 215.99999999998221*helper_3 + 958.66666666660058*helper_4 + 34.666666666671539*x + 66.666666666677415*y) + helper_0*helper_4*(1151.9999999999548*helper_4 + 1151.9999999999259*x + 1583.99999999992*y + 133.33333333332698) - helper_1*(227.9999999999763*x + 315.99999999997277*y + 199.99999999998238*z - 65.333333333328142) + 1727.9999999999322*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2618 case 36: {{const auto helper_0 = z - 1;
2619const auto helper_1 = pow(helper_0, 3);
2620const auto helper_2 = pow(x, 2);
2621const auto helper_3 = pow(y, 2);
2622const auto helper_4 = x*y;
2623const auto helper_5 = pow(helper_0, 2);
2624const auto helper_6 = 5.5908502727278559e-12*helper_2;
2625result_0 = -y*(helper_0*helper_4*(9.7151333329733401e-12*helper_4 + 1.5305983605701198e-11*x + 144.00000000000782*y + 378.66666666667197) + helper_1*(312.0000000000133*helper_0*x + 356.00000000000546*helper_0*y + 72.000000000000668*helper_3 + 712.00000000002103*helper_4 + 156.0000000000048*helper_5 + helper_6 + 498.66666666668613*x + 545.33333333334133*y + 249.33333333334079*z - 156.00000000000432) + 9.7151333329733384e-12*helper_2*helper_3 + helper_5*(1.5305983605701198e-11*helper_2*y + 144.00000000000779*helper_3*x + 72.000000000000725*helper_3 + 1090.6666666666931*helper_4 + helper_6 + 186.66666666667263*x + 189.33333333333627*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2626const auto helper_1 = pow(helper_0, 3);
2627const auto helper_2 = pow(x, 2);
2628const auto helper_3 = pow(y, 2);
2629const auto helper_4 = x*y;
2630const auto helper_5 = pow(helper_0, 2);
2631const auto helper_6 = 1.863616757575952e-12*helper_2;
2632result_0 = -x*(helper_0*helper_4*(9.7151333329733401e-12*helper_4 + 1.0203989070467465e-11*x + 216.00000000001171*y + 378.66666666667197) + helper_1*(156.00000000000665*helper_0*x + 712.00000000001091*helper_0*y + 216.00000000000199*helper_3 + 712.00000000002103*helper_4 + 156.0000000000048*helper_5 + helper_6 + 249.33333333334306*x + 1090.6666666666827*y + 249.33333333334079*z - 156.00000000000432) + 9.7151333329733384e-12*helper_2*helper_3 + helper_5*(1.0203989070467465e-11*helper_2*y + 216.00000000001168*helper_3*x + 216.00000000000216*helper_3 + 1090.6666666666931*helper_4 + helper_6 + 93.333333333336313*x + 378.66666666667254*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2633const auto helper_1 = pow(helper_0, 4);
2634const auto helper_2 = pow(x, 2);
2635const auto helper_3 = pow(y, 2);
2636const auto helper_4 = x*y;
2637result_0 = helper_4*(pow(helper_0, 2)*(5.1019945352337323e-12*helper_2*y + 1.863616757575952e-12*helper_2 + 72.000000000003894*helper_3*x + 72.000000000000725*helper_3 + 545.33333333334656*helper_4 + 93.333333333336313*x + 189.33333333333627*y) + helper_0*helper_4*(6.4767555553155606e-12*helper_4 + 1.0203989070467465e-11*x + 144.00000000000782*y + 378.66666666667197) - helper_1*(156.00000000000665*x + 356.00000000000546*y + 312.00000000000961*z - 62.666666666668817) + 9.7151333329733384e-12*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2638 case 37: {{const auto helper_0 = z - 1;
2639const auto helper_1 = pow(helper_0, 3);
2640const auto helper_2 = pow(x, 2);
2641const auto helper_3 = pow(y, 2);
2642const auto helper_4 = x*y;
2643const auto helper_5 = pow(helper_0, 2);
2644result_0 = -y*(helper_0*helper_4*(1727.9999999999379*helper_4 + 1727.9999999998943*x + 1871.9999999999247*y - 133.33333333333789) + helper_1*(311.99999999995657*helper_0*x + 259.99999999997482*helper_0*y + 383.99999999995714*helper_2 + 359.99999999998278*helper_3 + 1671.9999999998809*helper_4 + 27.999999999992642*helper_5 + 242.66666666662599*x + 193.33333333331629*y - 6.666666666676651*z - 27.999999999990845) + 1727.9999999999372*helper_2*helper_3 + helper_5*(1727.9999999998943*helper_2*y + 383.99999999995697*helper_2 + 1871.9999999999222*helper_3*x + 359.99999999998289*helper_3 + 1538.6666666665453*helper_4 - 69.333333333321292*x - 66.66666666665482*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2645const auto helper_1 = pow(helper_0, 3);
2646const auto helper_2 = pow(x, 2);
2647const auto helper_3 = pow(y, 2);
2648const auto helper_4 = x*y;
2649const auto helper_5 = pow(helper_0, 2);
2650result_0 = -x*(helper_0*helper_4*(1727.9999999999379*helper_4 + 1151.9999999999295*x + 2807.9999999998872*y - 133.33333333333789) + helper_1*(155.99999999997829*helper_0*x + 519.99999999994964*helper_0*y + 127.9999999999857*helper_2 + 1079.9999999999484*helper_3 + 1671.9999999998809*helper_4 + 27.999999999992642*helper_5 + 121.33333333331299*x + 386.66666666663258*y - 6.666666666676651*z - 27.999999999990845) + 1727.9999999999372*helper_2*helper_3 + helper_5*(1151.9999999999295*helper_2*y + 127.99999999998566*helper_2 + 2807.9999999998836*helper_3*x + 1079.9999999999486*helper_3 + 1538.6666666665453*helper_4 - 34.666666666660646*x - 133.33333333330964*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2651const auto helper_1 = pow(helper_0, 4);
2652const auto helper_2 = pow(x, 2);
2653const auto helper_3 = pow(y, 2);
2654const auto helper_4 = x*y;
2655result_0 = helper_4*(pow(helper_0, 2)*(575.99999999996476*helper_2*y + 127.99999999998566*helper_2 + 935.99999999996112*helper_3*x + 359.99999999998289*helper_3 + 769.33333333327266*helper_4 - 34.666666666660646*x - 66.66666666665482*y) + helper_0*helper_4*(1151.9999999999586*helper_4 + 1151.9999999999295*x + 1871.9999999999247*y - 133.33333333333789) - helper_1*(155.99999999997829*x + 259.99999999997482*y + 55.999999999985285*z - 62.666666666661939) + 1727.9999999999372*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2656 case 38: {{const auto helper_0 = z - 1;
2657const auto helper_1 = pow(helper_0, 3);
2658const auto helper_2 = pow(x, 2);
2659const auto helper_3 = pow(y, 2);
2660const auto helper_4 = x*y;
2661const auto helper_5 = pow(helper_0, 2);
2662result_0 = -y*(helper_0*helper_4*(1727.999999999925*helper_4 + 2375.9999999998745*x + 2303.9999999999095*y - 133.33333333333206) + helper_1*(663.99999999995634*helper_0*x + 819.99999999997397*helper_0*y + 647.99999999994884*helper_2 + 703.9999999999792*helper_3 + 2967.9999999998658*helper_4 + 115.99999999999535*helper_5 + 530.66666666663332*x + 721.33333333332041*y + 17.333333333327889*z - 115.99999999999231) + 1727.999999999925*helper_2*helper_3 + helper_5*(2375.9999999998736*helper_2*y + 647.99999999994861*helper_2 + 2303.9999999999068*helper_3*x + 703.99999999997999*helper_3 + 2834.6666666665355*helper_4 - 133.33333333331021*x - 98.666666666648055*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2663const auto helper_1 = pow(helper_0, 3);
2664const auto helper_2 = pow(x, 3);
2665const auto helper_3 = pow(y, 2);
2666const auto helper_4 = pow(x, 2);
2667const auto helper_5 = x*y;
2668const auto helper_6 = helper_0*y;
2669const auto helper_7 = helper_3*x;
2670const auto helper_8 = helper_4*y;
2671const auto helper_9 = pow(helper_0, 2);
2672const auto helper_10 = helper_9*x;
2673const auto helper_11 = 384*helper_3;
2674const auto helper_12 = -helper_0;
2675result_0 = -(helper_1*(17.333333333327889*helper_0*x + 115.99999999999535*helper_10 - helper_11*helper_12 + helper_11 - 331.99999999997817*helper_12*helper_4 + 215.99999999998295*helper_2 + 265.33333333331666*helper_4 + 1442.6666666666408*helper_5 + 1639.9999999999479*helper_6*x + 192*helper_6 + 2111.9999999999377*helper_7 + 2967.9999999998658*helper_8 + 256*helper_9*y - 32*helper_9 - 98.666666666664426*x - 64*y - 32*z + 32) + helper_10*(2111.99999999994*helper_3 + 215.99999999998286*helper_4 + 2834.6666666665355*helper_5 + 3455.9999999998599*helper_7 + 1583.9999999999156*helper_8 - 66.666666666655104*x - 197.33333333329611*y) + 1727.999999999925*helper_2*helper_3 + helper_4*helper_6*(1727.999999999925*helper_5 + 1583.9999999999163*x + 3455.9999999998645*y - 133.33333333333206))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2676const auto helper_1 = pow(helper_0, 4);
2677const auto helper_2 = pow(y, 2);
2678const auto helper_3 = pow(x, 2);
2679const auto helper_4 = x*y;
2680const auto helper_5 = helper_0*y;
2681result_0 = y*(pow(helper_0, 2)*x*(1151.9999999999534*helper_2*x + 703.99999999997999*helper_2 + 791.99999999995782*helper_3*y + 215.99999999998286*helper_3 + 1417.3333333332678*helper_4 - 66.666666666655104*x - 98.666666666648055*y) - helper_1*(231.99999999999071*helper_0*x + 128*helper_2 + 331.99999999997817*helper_3 + 819.99999999997397*helper_4 + 256*helper_5 + 17.333333333327889*x + 96*y - 64*z + 32) + 1727.999999999925*helper_2*pow(x, 3) + helper_3*helper_5*(1151.99999999995*helper_4 + 1583.9999999999163*x + 2303.9999999999095*y - 133.33333333333206))/helper_1;val.col(2) = result_0; }} break;
2682 case 39: {{const auto helper_0 = z - 1;
2683const auto helper_1 = pow(helper_0, 3);
2684const auto helper_2 = pow(x, 2);
2685const auto helper_3 = pow(y, 2);
2686const auto helper_4 = x*y;
2687const auto helper_5 = pow(helper_0, 2);
2688result_0 = -y*(helper_0*helper_4*(1.0576165211439032e-11*helper_4 - 215.99999999997999*x + 9.6445871119818228e-12*y + 378.66666666666754) + helper_1*(280.00000000001125*helper_0*x + 340.00000000000364*helper_0*y - 215.99999999999054*helper_2 + 1.2889525382263358e-12*helper_3 + 280.00000000002069*helper_4 + 340.0000000000025*helper_5 + 658.66666666667857*x + 625.33333333333701*y + 625.3333333333369*z - 340.00000000000256) + 1.0576165211439036e-11*helper_2*helper_3 + helper_5*(-215.99999999997993*helper_2*y - 215.99999999999056*helper_2 + 9.6919992948439941e-12*helper_3*x + 1.2350920599072932e-12*helper_3 + 658.66666666668891*helper_4 + 378.66666666666617*x + 285.33333333333297*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2689const auto helper_1 = pow(helper_0, 3);
2690const auto helper_2 = pow(x, 3);
2691const auto helper_3 = pow(y, 2);
2692const auto helper_4 = pow(x, 2);
2693const auto helper_5 = x*y;
2694const auto helper_6 = helper_0*y;
2695const auto helper_7 = helper_3*x;
2696const auto helper_8 = helper_4*y;
2697const auto helper_9 = pow(helper_0, 2);
2698const auto helper_10 = helper_9*x;
2699result_0 = -(helper_1*(140.00000000000563*helper_0*helper_4 + 625.3333333333369*helper_0*x + 128*helper_1 + 340.0000000000025*helper_10 - 71.999999999996845*helper_2 + 329.33333333333928*helper_4 + 1250.666666666674*helper_5 + 680.00000000000728*helper_6*x + 448*helper_6 + 3.8668576146790072e-12*helper_7 + 280.00000000002069*helper_8 + 256*helper_9*y + 224*helper_9 + 285.33333333333434*x + 192*y + 96*z - 96) + helper_10*(3.7052761797218793e-12*helper_3 - 71.999999999996859*helper_4 + 658.66666666668891*helper_5 + 1.4537998942265991e-11*helper_7 - 143.99999999998661*helper_8 + 189.33333333333309*x + 570.66666666666595*y) + 1.0576165211439036e-11*helper_2*helper_3 + helper_4*helper_6*(1.0576165211439032e-11*helper_5 - 143.99999999998667*x + 1.4466880667972735e-11*y + 378.66666666666754))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2700const auto helper_1 = pow(helper_0, 4);
2701const auto helper_2 = pow(y, 2);
2702const auto helper_3 = pow(x, 2);
2703const auto helper_4 = x*y;
2704const auto helper_5 = helper_0*y;
2705const auto helper_6 = pow(helper_0, 2);
2706result_0 = y*(-helper_1*(680.000000000005*helper_0*x + 140.00000000000563*helper_3 + 340.00000000000364*helper_4 + 256*helper_5 + 384*helper_6 + 625.3333333333369*x + 224*y + 448*z - 352) + 1.0576165211439036e-11*helper_2*pow(x, 3) + helper_3*helper_5*(7.0507768076260222e-12*helper_4 - 143.99999999998667*x + 9.6445871119818228e-12*y + 378.66666666666754) + helper_6*x*(4.8459996474219971e-12*helper_2*x + 1.2350920599072932e-12*helper_2 - 71.999999999993307*helper_3*y - 71.999999999996859*helper_3 + 329.33333333334446*helper_4 + 189.33333333333309*x + 285.33333333333297*y))/helper_1;val.col(2) = result_0; }} break;
2707 case 40: {{const auto helper_0 = z - 1;
2708const auto helper_1 = pow(helper_0, 3);
2709const auto helper_2 = pow(x, 2);
2710const auto helper_3 = pow(y, 2);
2711const auto helper_4 = x*y;
2712const auto helper_5 = pow(helper_0, 2);
2713result_0 = y*(helper_0*helper_4*(1727.9999999999091*helper_4 + 2807.9999999998508*x + 2303.9999999998936*y + 133.33333333332541) + helper_1*(1639.9999999999347*helper_0*x + 1291.9999999999629*helper_0*y + 1079.9999999999409*helper_2 + 703.99999999997669*helper_3 + 3943.9999999998286*helper_4 + 587.99999999998715*helper_5 + 1773.3333333332723*x + 1390.6666666666397*y + 686.66666666664776*z - 587.99999999998352) + 1727.9999999999086*helper_2*helper_3 + helper_5*(2807.9999999998499*helper_2*y + 1079.9999999999407*helper_2 + 2303.9999999998904*helper_3*x + 703.99999999997726*helper_3 + 4077.3333333331548*helper_4 + 133.33333333335224*x + 98.666666666683128*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2714const auto helper_1 = pow(helper_0, 3);
2715const auto helper_2 = pow(x, 3);
2716const auto helper_3 = pow(y, 2);
2717const auto helper_4 = pow(x, 2);
2718const auto helper_5 = x*y;
2719const auto helper_6 = helper_0*y;
2720const auto helper_7 = helper_3*x;
2721const auto helper_8 = helper_4*y;
2722const auto helper_9 = pow(helper_0, 2);
2723const auto helper_10 = helper_9*x;
2724const auto helper_11 = 384*helper_3;
2725result_0 = (helper_1*(helper_0*helper_11 + 819.99999999996737*helper_0*helper_4 + 686.66666666664776*helper_0*x + 128*helper_1 + 587.99999999998715*helper_10 + helper_11 + 359.99999999998033*helper_2 + 886.66666666663616*helper_4 + 2781.3333333332794*helper_5 + 2583.9999999999259*helper_6*x + 576*helper_6 + 2111.99999999993*helper_7 + 3943.9999999998286*helper_8 + 512*helper_9*y + 160*helper_9 + 98.666666666664241*x + 64*y + 32*z - 32) + helper_10*(2111.9999999999318*helper_3 + 359.99999999998022*helper_4 + 4077.3333333331548*helper_5 + 3455.9999999998354*helper_7 + 1871.9999999999*helper_8 + 66.666666666676122*x + 197.33333333336626*y) + 1727.9999999999086*helper_2*helper_3 + helper_4*helper_6*(1727.9999999999091*helper_5 + 1871.9999999999004*x + 3455.9999999998404*y + 133.33333333332541))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2726const auto helper_1 = pow(helper_0, 4);
2727const auto helper_2 = pow(y, 2);
2728const auto helper_3 = pow(x, 2);
2729const auto helper_4 = x*y;
2730const auto helper_5 = helper_0*y;
2731const auto helper_6 = pow(helper_0, 2);
2732result_0 = -y*(-helper_1*(1175.9999999999743*helper_0*x + 128*helper_2 + 819.99999999996737*helper_3 + 1291.9999999999629*helper_4 + 512*helper_5 + 384*helper_6 + 686.66666666664776*x + 288*y + 320*z - 288) + 1727.9999999999086*helper_2*pow(x, 3) + helper_3*helper_5*(1151.9999999999393*helper_4 + 1871.9999999999004*x + 2303.9999999998936*y + 133.33333333332541) + helper_6*x*(1151.9999999999452*helper_2*x + 703.99999999997726*helper_2 + 935.99999999994998*helper_3*y + 359.99999999998022*helper_3 + 2038.6666666665774*helper_4 + 66.666666666676122*x + 98.666666666683128*y))/helper_1;val.col(2) = result_0; }} break;
2733 case 41: {{const auto helper_0 = z - 1;
2734const auto helper_1 = pow(helper_0, 4);
2735const auto helper_2 = pow(x, 3);
2736const auto helper_3 = pow(y, 3);
2737const auto helper_4 = pow(helper_0, 3);
2738const auto helper_5 = pow(x, 2);
2739const auto helper_6 = pow(y, 2);
2740const auto helper_7 = pow(helper_0, 2);
2741const auto helper_8 = x*y;
2742result_0 = (1.0/9.0)*y*(helper_0*helper_5*helper_6*(147456*x + 110592*y + 6143.9999999743613) + helper_1*(24051.358024679917*helper_0*x + 12025.679012340033*helper_0*y + 45226.66666665471*helper_5 + 15075.555555551618*helper_6 + 3094.1234567883371*helper_7 + 97210.469135766602*helper_8 + 4117.0699588352654*x + 2058.5349794184276*y + 806.97942386598902*z - 790.12345678793918) + 65536*helper_2*helper_3 + 6144*helper_4*(4*helper_2 + helper_3) + helper_4*(189610.66666662897*helper_5*y + 3754.6666666547717*helper_5 + 126407.11111108706*helper_6*x + 1251.5555555516553*helper_6 + 10716.181069922884*helper_8 + 33.711934155598414*x + 16.855967078024477*y) + helper_7*helper_8*(106496*helper_5 + 53248*helper_6 + 254975.99999997424*helper_8 + 9898.6666666291567*x + 6599.1111110870816*y + 33.711934156173641))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2743const auto helper_1 = pow(helper_0, 4);
2744const auto helper_2 = pow(x, 3);
2745const auto helper_3 = pow(y, 3);
2746const auto helper_4 = pow(helper_0, 3);
2747const auto helper_5 = pow(x, 2);
2748const auto helper_6 = pow(y, 2);
2749const auto helper_7 = pow(helper_0, 2);
2750const auto helper_8 = x*y;
2751result_0 = (1.0/9.0)*x*(helper_0*helper_5*helper_6*(110592*x + 147456*y + 6143.9999999743613) + helper_1*(12025.679012339959*helper_0*x + 24051.358024680067*helper_0*y + 15075.555555551571*helper_5 + 45226.666666654855*helper_6 + 3094.1234567883371*helper_7 + 97210.469135766602*helper_8 + 2058.5349794176327*x + 4117.0699588368552*y + 806.97942386598902*z - 790.12345678793918) + 65536*helper_2*helper_3 + 6144*helper_4*(helper_2 + 4*helper_3) + helper_4*(126407.11111108598*helper_5*y + 1251.5555555515905*helper_5 + 189610.6666666306*helper_6*x + 3754.6666666549659*helper_6 + 10716.181069922884*helper_8 + 16.855967077799207*x + 33.711934156048954*y) + helper_7*helper_8*(53248*helper_5 + 106496*helper_6 + 254975.99999997424*helper_8 + 6599.1111110861038*x + 9898.666666630621*y + 33.711934156173641))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2752const auto helper_1 = pow(helper_0, 5);
2753const auto helper_2 = pow(x, 3);
2754const auto helper_3 = pow(y, 3);
2755const auto helper_4 = pow(x, 2);
2756const auto helper_5 = pow(y, 2);
2757const auto helper_6 = x*y;
2758result_0 = -1.0/9.0*helper_6*(pow(helper_0, 3)*(6144*helper_2 + 6144*helper_3 + 63203.555555542989*helper_4*y + 1251.5555555515905*helper_4 + 63203.555555543528*helper_5*x + 1251.5555555516553*helper_5 + 5358.0905349614422*helper_6 + 16.855967077799207*x + 16.855967078024477*y) + pow(helper_0, 2)*helper_6*(53248*helper_4 + 53248*helper_5 + 169983.99999998283*helper_6 + 6599.1111110861038*x + 6599.1111110870816*y + 33.711934156173641) + helper_0*helper_4*helper_5*(110592*x + 110592*y + 6143.9999999743613) - helper_1*(12025.679012339959*x + 12025.679012340033*y + 6188.2469135766742*z - 5381.2674897106854) + 65536*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2759 case 42: {{const auto helper_0 = z - 1;
2760const auto helper_1 = pow(helper_0, 4);
2761const auto helper_2 = pow(x, 3);
2762const auto helper_3 = pow(y, 3);
2763const auto helper_4 = pow(x, 2);
2764const auto helper_5 = pow(y, 2);
2765const auto helper_6 = pow(helper_0, 2);
2766const auto helper_7 = x*y;
2767result_0 = -1.0/3.0*y*(-pow(helper_0, 3)*(-6144*helper_2 - 3072*helper_3 - 65237.333333320967*helper_4*y + 426.66666667035952*helper_4 - 53247.999999991887*helper_5*x + 1.3711252978073301e-9*helper_5 + 510.94650206962302*helper_7 + 21.069958848133854*x + 10.534979424000952*y) + helper_0*helper_4*helper_5*(65536*x + 55296*y - 8.5914722958096641e-9) + helper_1*(4502.1234567864585*helper_0*x + 3545.2839506153109*helper_0*y + 9941.333333329625*helper_4 + 6143.9999999986112*helper_5 + 473.28395061666993*helper_6 + 31126.123456778154*helper_7 - 510.94650206169081*x - 113.25102880855223*y - 113.25102880744163*z + 102.71604938351415) + 32768*helper_2*helper_3 + helper_6*helper_7*(38912*helper_4 + 26624*helper_5 + 110591.99999999136*helper_7 - 426.66666667894555*x - 8.1196950140066572e-9*y - 21.069958847838993))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2768const auto helper_1 = pow(helper_0, 4);
2769const auto helper_2 = pow(x, 3);
2770const auto helper_3 = pow(y, 3);
2771const auto helper_4 = pow(x, 2);
2772const auto helper_5 = pow(y, 2);
2773const auto helper_6 = pow(helper_0, 2);
2774const auto helper_7 = x*y;
2775result_0 = -1.0/3.0*x*(-pow(helper_0, 3)*(-1536*helper_2 - 12288*helper_3 - 43491.555555547311*helper_4*y + 142.22222222345317*helper_4 - 79871.999999987835*helper_5*x + 4.1133758934219902e-9*helper_5 + 510.94650206962302*helper_7 + 10.534979424066927*x + 21.069958848001903*y) + helper_0*helper_4*helper_5*(49152*x + 73728*y - 8.5914722958096641e-9) + helper_1*(2251.0617283932293*helper_0*x + 7090.5679012306218*helper_0*y + 3313.7777777765414*helper_4 + 18431.999999995835*helper_5 + 473.28395061666993*helper_6 + 31126.123456778154*helper_7 - 255.4732510308454*x - 226.50205761710447*y - 113.25102880744163*z + 102.71604938351415) + 32768*helper_2*helper_3 + helper_6*helper_7*(19456*helper_4 + 53248*helper_5 + 110591.99999999136*helper_7 - 284.44444445263036*x - 1.2179542521009986e-8*y - 21.069958847838993))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2776const auto helper_1 = pow(helper_0, 5);
2777const auto helper_2 = pow(x, 3);
2778const auto helper_3 = pow(y, 3);
2779const auto helper_4 = pow(x, 2);
2780const auto helper_5 = pow(y, 2);
2781const auto helper_6 = x*y;
2782result_0 = (1.0/3.0)*helper_6*(-pow(helper_0, 3)*(-1536*helper_2 - 3072*helper_3 - 21745.777777773656*helper_4*y + 142.22222222345317*helper_4 - 26623.999999995944*helper_5*x + 1.3711252978073301e-9*helper_5 + 255.47325103481151*helper_6 + 10.534979424066927*x + 10.534979424000952*y) + pow(helper_0, 2)*helper_6*(19456*helper_4 + 26624*helper_5 + 73727.999999994237*helper_6 - 284.44444445263036*x - 8.1196950140066572e-9*y - 21.069958847838993) + helper_0*helper_4*helper_5*(49152*x + 55296*y - 8.5914722958096641e-9) - helper_1*(2251.0617283932293*x + 3545.2839506153109*y + 946.56790123333985*z - 1059.8189300407814) + 32768*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2783 case 43: {{const auto helper_0 = z - 1;
2784const auto helper_1 = pow(helper_0, 4);
2785const auto helper_2 = pow(x, 3);
2786const auto helper_3 = pow(y, 3);
2787const auto helper_4 = pow(helper_0, 3);
2788const auto helper_5 = pow(x, 2);
2789const auto helper_6 = pow(y, 2);
2790const auto helper_7 = pow(helper_0, 2);
2791const auto helper_8 = x*y;
2792result_0 = (1.0/9.0)*y*(helper_0*helper_5*helper_6*(114688*x + 110592*y - 6144.0000000130876) + helper_1*(4140.2469135745705*helper_0*x + 3663.0123456756619*helper_0*y + 11434.666666661396*helper_5 + 9500.4444444421624*helper_6 + 306.56790123345525*helper_7 + 37477.135802450444*helper_8 - 2482.0411522698578*x - 1696.1316872463037*y - 444.57613168885479*z + 461.43209876689309) + 65536*helper_2*helper_3 + 8192*helper_2*helper_4 + 6144*helper_3*helper_4 + helper_4*(88234.666666648205*helper_5*y - 2389.333333338574*helper_5 + 86584.888888876289*helper_6*x - 1251.5555555577916*helper_6 - 9081.1522633933491*helper_8 + 33.711934155468526*x + 16.855967077820232*y) + helper_7*helper_8*(57344*helper_5 + 53248*helper_6 + 187391.99999998679*helper_8 - 8533.3333333516603*x - 6599.111111123716*y + 33.711934156059641))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2793const auto helper_1 = pow(helper_0, 4);
2794const auto helper_2 = pow(x, 3);
2795const auto helper_3 = pow(y, 3);
2796const auto helper_4 = pow(helper_0, 3);
2797const auto helper_5 = pow(x, 2);
2798const auto helper_6 = pow(y, 2);
2799const auto helper_7 = pow(helper_0, 2);
2800const auto helper_8 = x*y;
2801result_0 = (1.0/9.0)*x*(helper_0*helper_5*helper_6*(86016*x + 147456*y - 6144.0000000130876) + helper_1*(2070.1234567872852*helper_0*x + 7326.0246913513238*helper_0*y + 3811.555555553799*helper_5 + 28501.333333326485*helper_6 + 306.56790123345525*helper_7 + 37477.135802450444*helper_8 - 1241.0205761349289*x - 3392.2633744926075*y - 444.57613168885479*z + 461.43209876689309) + 65536*helper_2*helper_3 + 2048*helper_2*helper_4 + 24576*helper_3*helper_4 + helper_4*(58823.111111098799*helper_5*y - 796.44444444619137*helper_5 + 129877.33333331443*helper_6*x - 3754.6666666733749*helper_6 - 9081.1522633933491*helper_8 + 16.855967077734263*x + 33.711934155640463*y) + helper_7*helper_8*(28672*helper_5 + 106496*helper_6 + 187391.99999998679*helper_8 - 5688.8888889011068*x - 9898.6666666855745*y + 33.711934156059641))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2802const auto helper_1 = pow(helper_0, 5);
2803const auto helper_2 = pow(x, 3);
2804const auto helper_3 = pow(y, 3);
2805const auto helper_4 = pow(x, 2);
2806const auto helper_5 = pow(y, 2);
2807const auto helper_6 = x*y;
2808result_0 = -1.0/9.0*helper_6*(pow(helper_0, 3)*(2048*helper_2 + 6144*helper_3 + 29411.555555549399*helper_4*y - 796.44444444619137*helper_4 + 43292.444444438144*helper_5*x - 1251.5555555577916*helper_5 - 4540.5761316966746*helper_6 + 16.855967077734263*x + 16.855967077820232*y) + pow(helper_0, 2)*helper_6*(28672*helper_4 + 53248*helper_5 + 124927.99999999121*helper_6 - 5688.8888889011068*x - 6599.111111123716*y + 33.711934156059641) + helper_0*helper_4*helper_5*(86016*x + 110592*y - 6144.0000000130876) - helper_1*(2070.1234567872852*x + 3663.0123456756619*y + 613.13580246691049*z - 1057.7119341557652) + 65536*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2809 case 44: {{const auto helper_0 = z - 1;
2810const auto helper_1 = pow(helper_0, 4);
2811const auto helper_2 = pow(x, 3);
2812const auto helper_3 = pow(y, 3);
2813const auto helper_4 = pow(x, 2);
2814const auto helper_5 = pow(y, 2);
2815const auto helper_6 = pow(helper_0, 2);
2816const auto helper_7 = x*y;
2817result_0 = -1.0/3.0*y*(-pow(helper_0, 3)*(-12288*helper_2 - 1536*helper_3 - 79871.999999982014*helper_4*y + 5.7748433422044209e-9*helper_4 - 43491.555555544386*helper_5*x + 142.22222222400399*helper_5 + 510.94650207468203*helper_7 + 21.0699588482113*x + 10.534979424034256*y) + helper_0*helper_4*helper_5*(73728*x + 49152*y - 1.2082274918740477e-8) + helper_1*(7090.5679012289711*helper_0*x + 2251.0617283924266*helper_0*y + 18431.99999999419*helper_4 + 3313.7777777759848*helper_5 + 473.28395061639765*helper_6 + 31126.123456773137*helper_7 - 226.50205761926651*x - 255.47325103139207*y - 113.25102880771854*z + 102.71604938376535) + 32768*helper_2*helper_3 + helper_6*helper_7*(53248*helper_4 + 19456*helper_5 + 110591.99999998786*helper_7 - 1.7845829661339931e-8*x - 284.44444445564125*y - 21.069958847827021))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2818const auto helper_1 = pow(helper_0, 4);
2819const auto helper_2 = pow(x, 3);
2820const auto helper_3 = pow(y, 3);
2821const auto helper_4 = pow(x, 2);
2822const auto helper_5 = pow(y, 2);
2823const auto helper_6 = pow(helper_0, 2);
2824const auto helper_7 = x*y;
2825result_0 = -1.0/3.0*x*(-pow(helper_0, 3)*(-3072*helper_2 - 6144*helper_3 - 53247.999999988009*helper_4*y + 1.924947780734807e-9*helper_4 - 65237.333333316579*helper_5*x + 426.66666667201196*helper_5 + 510.94650207468203*helper_7 + 10.53497942410565*x + 21.069958848068513*y) + helper_0*helper_4*helper_5*(55296*x + 65536*y - 1.2082274918740477e-8) + helper_1*(3545.2839506144855*helper_0*x + 4502.1234567848533*helper_0*y + 6143.9999999980637*helper_4 + 9941.3333333279552*helper_5 + 473.28395061639765*helper_6 + 31126.123456773137*helper_7 - 113.25102880963325*x - 510.94650206278413*y - 113.25102880771854*z + 102.71604938376535) + 32768*helper_2*helper_3 + helper_6*helper_7*(26624*helper_4 + 38912*helper_5 + 110591.99999998786*helper_7 - 1.189721977422662e-8*x - 426.66666668346187*y - 21.069958847827021))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2826const auto helper_1 = pow(helper_0, 5);
2827const auto helper_2 = pow(x, 3);
2828const auto helper_3 = pow(y, 3);
2829const auto helper_4 = pow(x, 2);
2830const auto helper_5 = pow(y, 2);
2831const auto helper_6 = x*y;
2832result_0 = (1.0/3.0)*helper_6*(-pow(helper_0, 3)*(-3072*helper_2 - 1536*helper_3 - 26623.999999994005*helper_4*y + 1.924947780734807e-9*helper_4 - 21745.777777772193*helper_5*x + 142.22222222400399*helper_5 + 255.47325103734102*helper_6 + 10.53497942410565*x + 10.534979424034256*y) + pow(helper_0, 2)*helper_6*(26624*helper_4 + 19456*helper_5 + 73727.999999991909*helper_6 - 1.189721977422662e-8*x - 284.44444445564125*y - 21.069958847827021) + helper_0*helper_4*helper_5*(55296*x + 49152*y - 1.2082274918740477e-8) - helper_1*(3545.2839506144855*x + 2251.0617283924266*y + 946.56790123279529*z - 1059.8189300405138) + 32768*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2833 case 45: {{const auto helper_0 = z - 1;
2834const auto helper_1 = pow(helper_0, 4);
2835const auto helper_2 = pow(x, 3);
2836const auto helper_3 = pow(y, 3);
2837const auto helper_4 = pow(x, 2);
2838const auto helper_5 = pow(y, 2);
2839const auto helper_6 = pow(helper_0, 2);
2840const auto helper_7 = x*y;
2841result_0 = y*(pow(helper_0, 3)*(3072*helper_2 + 768*helper_3 + 29183.999999993939*helper_4*y - 1.8593990481331674e-9*helper_4 + 19455.999999996122*helper_5*x - 6.421671959172466e-10*helper_5 + 26.008230446768351*helper_7 + 2.5020576129424086*x + 1.2510288064937174*y) + helper_0*helper_4*helper_5*(32768*x + 24576*y - 4.1614745085613391e-9) + helper_1*(1847.5061728376334*helper_0*x + 923.7530864187919*helper_0*y + 4607.9999999981301*helper_4 + 1535.9999999993474*helper_5 + 155.75308641942962*helper_6 + 11575.506172833642*helper_7 + 26.008230450588673*x + 13.004115225365545*y + 13.004115225890912*z - 11.75308641935116) + 16384*helper_2*helper_3 + helper_6*helper_7*(19456*helper_4 + 9728*helper_5 + 49151.999999995816*helper_7 - 6.019412853574561e-9*x - 3.8899611842853787e-9*y + 2.5020576131072354))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2842const auto helper_1 = pow(helper_0, 4);
2843const auto helper_2 = pow(x, 3);
2844const auto helper_3 = pow(y, 3);
2845const auto helper_4 = pow(x, 2);
2846const auto helper_5 = pow(y, 2);
2847const auto helper_6 = pow(helper_0, 2);
2848const auto helper_7 = x*y;
2849result_0 = x*(pow(helper_0, 3)*(768*helper_2 + 3072*helper_3 + 19455.999999995958*helper_4*y - 6.1979968271105581e-10*helper_4 + 29183.999999994183*helper_5*x - 1.9265015877517398e-9*helper_5 + 26.008230446768351*helper_7 + 1.2510288064712043*x + 2.5020576129874348*y) + helper_0*helper_4*helper_5*(24576*x + 32768*y - 4.1614745085613391e-9) + helper_1*(923.75308641881668*helper_0*x + 1847.5061728375838*helper_0*y + 1535.9999999993768*helper_4 + 4607.9999999980428*helper_5 + 155.75308641942962*helper_6 + 11575.506172833642*helper_7 + 13.004115225294337*x + 26.008230450731091*y + 13.004115225890912*z - 11.75308641935116) + 16384*helper_2*helper_3 + helper_6*helper_7*(9728*helper_4 + 19456*helper_5 + 49151.999999995816*helper_7 - 4.0129419023830409e-9*x - 5.8349417764280676e-9*y + 2.5020576131072354))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2850const auto helper_1 = pow(helper_0, 5);
2851const auto helper_2 = pow(x, 3);
2852const auto helper_3 = pow(y, 3);
2853const auto helper_4 = pow(x, 2);
2854const auto helper_5 = pow(y, 2);
2855const auto helper_6 = x*y;
2856result_0 = -helper_6*(pow(helper_0, 3)*(768*helper_2 + 768*helper_3 + 9727.9999999979791*helper_4*y - 6.1979968271105581e-10*helper_4 + 9727.999999998061*helper_5*x - 6.421671959172466e-10*helper_5 + 13.004115223384176*helper_6 + 1.2510288064712043*x + 1.2510288064937174*y) + pow(helper_0, 2)*helper_6*(9728*helper_4 + 9728*helper_5 + 32767.99999999721*helper_6 - 4.0129419023830409e-9*x - 3.8899611842853787e-9*y + 2.5020576131072354) + helper_0*helper_4*helper_5*(24576*x + 24576*y - 4.1614745085613391e-9) - helper_1*(923.75308641881668*x + 923.7530864187919*y + 311.50617283885924*z - 298.50205761296831) + 16384*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2857 case 46: {{const auto helper_0 = z - 1;
2858const auto helper_1 = pow(helper_0, 4);
2859const auto helper_2 = pow(x, 3);
2860const auto helper_3 = pow(y, 3);
2861const auto helper_4 = pow(helper_0, 3);
2862const auto helper_5 = pow(x, 2);
2863const auto helper_6 = pow(y, 2);
2864const auto helper_7 = pow(helper_0, 2);
2865const auto helper_8 = x*y;
2866result_0 = -1.0/3.0*y*(helper_0*helper_5*helper_6*(57344*x + 49152*y - 6.4432860663137805e-9) + helper_1*(2511.0123456760507*helper_0*x + 1525.7283950600849*helper_0*y + 6143.9999999972424*helper_5 + 2830.2222222211335*helper_6 + 231.50617283892814*helper_7 + 17387.456790114156*helper_8 + 57.942386827920274*x + 171.19341563614236*y + 28.971193414812561*z - 39.506172838774567) + 32768*helper_2*helper_3 + 4096*helper_2*helper_4 + helper_4*(1536*helper_3 + 43007.999999990745*helper_5*y - 2.7436826646114724e-9*helper_5 + 34332.444444438319*helper_6*x + 142.2222222211559*helper_6 + 342.38683126629638*helper_8 - 21.069958848190755*x - 10.534979424056409*y) + helper_7*helper_8*(28672*helper_5 + 19456*helper_6 + 86015.999999993495*helper_8 - 9.1892964831758187e-9*x + 284.44444443830412*y - 21.069958847903983))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2867const auto helper_1 = pow(helper_0, 4);
2868const auto helper_2 = pow(x, 3);
2869const auto helper_3 = pow(y, 3);
2870const auto helper_4 = pow(helper_0, 3);
2871const auto helper_5 = pow(x, 2);
2872const auto helper_6 = pow(y, 2);
2873const auto helper_7 = pow(helper_0, 2);
2874const auto helper_8 = x*y;
2875result_0 = -1.0/3.0*x*(helper_0*helper_5*helper_6*(43008*x + 65536*y - 6.4432860663137805e-9) + helper_1*(1255.5061728380253*helper_0*x + 3051.4567901201699*helper_0*y + 2047.9999999990807*helper_5 + 8490.666666663401*helper_6 + 231.50617283892814*helper_7 + 17387.456790114156*helper_8 + 28.971193413960137*x + 342.38683127228472*y + 28.971193414812561*z - 39.506172838774567) + 32768*helper_2*helper_3 + 1024*helper_2*helper_4 + helper_4*(6144*helper_3 + 28671.99999999383*helper_5*y - 9.1456088820382406e-10*helper_5 + 51498.666666657475*helper_6*x + 426.66666666346771*helper_6 + 342.38683126629638*helper_8 - 10.534979424095377*x - 21.069958848112819*y) + helper_7*helper_8*(14336*helper_5 + 38912*helper_6 + 86015.999999993495*helper_8 - 6.126197655450546e-9*x + 426.66666665745618*y - 21.069958847903983))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2876const auto helper_1 = pow(helper_0, 5);
2877const auto helper_2 = pow(x, 3);
2878const auto helper_3 = pow(y, 3);
2879const auto helper_4 = pow(x, 2);
2880const auto helper_5 = pow(y, 2);
2881const auto helper_6 = x*y;
2882result_0 = (1.0/3.0)*helper_6*(pow(helper_0, 3)*(1024*helper_2 + 1536*helper_3 + 14335.999999996915*helper_4*y - 9.1456088820382406e-10*helper_4 + 17166.222222219159*helper_5*x + 142.2222222211559*helper_5 + 171.19341563314819*helper_6 - 10.534979424095377*x - 10.534979424056409*y) + pow(helper_0, 2)*helper_6*(14336*helper_4 + 19456*helper_5 + 57343.999999995664*helper_6 - 6.126197655450546e-9*x + 284.44444443830412*y - 21.069958847903983) + helper_0*helper_4*helper_5*(43008*x + 49152*y - 6.4432860663137805e-9) - helper_1*(1255.5061728380253*x + 1525.7283950600849*y + 463.01234567785627*z - 434.04115226304373) + 32768*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2883 case 47: {{const auto helper_0 = z - 1;
2884const auto helper_1 = pow(helper_0, 4);
2885const auto helper_2 = pow(x, 3);
2886const auto helper_3 = pow(y, 3);
2887const auto helper_4 = pow(helper_0, 3);
2888const auto helper_5 = pow(x, 2);
2889const auto helper_6 = pow(y, 2);
2890const auto helper_7 = pow(helper_0, 2);
2891const auto helper_8 = x*y;
2892result_0 = (1.0/9.0)*y*(helper_0*helper_5*helper_6*(147456*x + 86016*y - 6144.0000000230693) + helper_1*(7326.0246913470955*helper_0*x + 2070.1234567851761*helper_0*y + 28501.333333321949*helper_5 + 3811.5555555522233*helper_6 + 306.56790123284992*helper_7 + 37477.135802436664*helper_8 - 3392.2633744974028*x - 1241.0205761365805*y - 444.57613168937939*z + 461.43209876742009) + 65536*helper_2*helper_3 + 24576*helper_2*helper_4 + 2048*helper_3*helper_4 + helper_4*(129877.33333329875*helper_5*y - 3754.666666677987*helper_5 + 58823.111111090016*helper_6*x - 796.44444444775002*helper_6 - 9081.152263407088*helper_8 + 33.711934155372283*x + 16.855967077748186*y) + helper_7*helper_8*(106496*helper_5 + 28672*helper_6 + 187391.9999999768*helper_8 - 9898.666666701034*x - 5688.8888889100754*y + 33.711934156305091))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2893const auto helper_1 = pow(helper_0, 4);
2894const auto helper_2 = pow(x, 3);
2895const auto helper_3 = pow(y, 3);
2896const auto helper_4 = pow(helper_0, 3);
2897const auto helper_5 = pow(x, 2);
2898const auto helper_6 = pow(y, 2);
2899const auto helper_7 = pow(helper_0, 2);
2900const auto helper_8 = x*y;
2901result_0 = (1.0/9.0)*x*(helper_0*helper_5*helper_6*(110592*x + 114688*y - 6144.0000000230693) + helper_1*(3663.0123456735478*helper_0*x + 4140.2469135703523*helper_0*y + 9500.444444440649*helper_5 + 11434.666666656671*helper_6 + 306.56790123284992*helper_7 + 37477.135802436664*helper_8 - 1696.1316872487014*x - 2482.0411522731611*y - 444.57613168937939*z + 461.43209876742009) + 65536*helper_2*helper_3 + 6144*helper_2*helper_4 + 8192*helper_3*helper_4 + helper_4*(86584.88888886584*helper_5*y - 1251.5555555593289*helper_5 + 88234.666666635021*helper_6*x - 2389.3333333432502*helper_6 - 9081.152263407088*helper_8 + 16.855967077686142*x + 33.711934155496373*y) + helper_7*helper_8*(53248*helper_5 + 57344*helper_6 + 187391.9999999768*helper_8 - 6599.1111111340233*x - 8533.3333333651135*y + 33.711934156305091))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2902const auto helper_1 = pow(helper_0, 5);
2903const auto helper_2 = pow(x, 3);
2904const auto helper_3 = pow(y, 3);
2905const auto helper_4 = pow(x, 2);
2906const auto helper_5 = pow(y, 2);
2907const auto helper_6 = x*y;
2908result_0 = -1.0/9.0*helper_6*(pow(helper_0, 3)*(6144*helper_2 + 2048*helper_3 + 43292.44444443292*helper_4*y - 1251.5555555593289*helper_4 + 29411.555555545008*helper_5*x - 796.44444444775002*helper_5 - 4540.576131703544*helper_6 + 16.855967077686142*x + 16.855967077748186*y) + pow(helper_0, 2)*helper_6*(53248*helper_4 + 28672*helper_5 + 124927.99999998455*helper_6 - 6599.1111111340233*x - 5688.8888889100754*y + 33.711934156305091) + helper_0*helper_4*helper_5*(110592*x + 86016*y - 6144.0000000230693) - helper_1*(3663.0123456735478*x + 2070.1234567851761*y + 613.13580246569984*z - 1057.7119341550792) + 65536*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2909 case 48: {{const auto helper_0 = z - 1;
2910const auto helper_1 = pow(helper_0, 4);
2911const auto helper_2 = pow(x, 3);
2912const auto helper_3 = pow(y, 3);
2913const auto helper_4 = pow(helper_0, 3);
2914const auto helper_5 = pow(x, 2);
2915const auto helper_6 = pow(y, 2);
2916const auto helper_7 = pow(helper_0, 2);
2917const auto helper_8 = x*y;
2918result_0 = -1.0/3.0*y*(helper_0*helper_5*helper_6*(65536*x + 43008*y - 7.9475254758304463e-9) + helper_1*(3051.4567901197192*helper_0*x + 1255.5061728376809*helper_0*y + 8490.6666666629317*helper_5 + 2047.9999999987861*helper_6 + 231.50617283886083*helper_7 + 17387.45679011217*helper_8 + 342.38683127159288*x + 28.971193413786857*y + 28.971193414763171*z - 39.506172838723835) + 32768*helper_2*helper_3 + 1024*helper_3*helper_4 + helper_4*(6144*helper_2 + 51498.666666654914*helper_5*y + 426.66666666295765*helper_5 + 28671.99999999268*helper_6*x - 1.193481842478691e-9*helper_6 + 342.38683126432733*helper_8 - 21.069958848194744*x - 10.534979424068986*y) + helper_7*helper_8*(38912*helper_5 + 14336*helper_6 + 86015.999999991996*helper_8 + 426.66666665500247*x - 7.3693637553357093e-9*y - 21.069958847838308))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2919const auto helper_1 = pow(helper_0, 4);
2920const auto helper_2 = pow(x, 3);
2921const auto helper_3 = pow(y, 3);
2922const auto helper_4 = pow(helper_0, 3);
2923const auto helper_5 = pow(x, 2);
2924const auto helper_6 = pow(y, 2);
2925const auto helper_7 = pow(helper_0, 2);
2926const auto helper_8 = x*y;
2927result_0 = -1.0/3.0*x*(helper_0*helper_5*helper_6*(49152*x + 57344*y - 7.9475254758304463e-9) + helper_1*(1525.7283950598596*helper_0*x + 2511.0123456753618*helper_0*y + 2830.2222222209771*helper_5 + 6143.9999999963584*helper_6 + 231.50617283886083*helper_7 + 17387.45679011217*helper_8 + 171.19341563579644*x + 57.942386827573714*y + 28.971193414763171*z - 39.506172838723835) + 32768*helper_2*helper_3 + 4096*helper_3*helper_4 + helper_4*(1536*helper_2 + 34332.444444436609*helper_5*y + 142.22222222098588*helper_5 + 43007.999999989021*helper_6*x - 3.5804455274360732e-9*helper_6 + 342.38683126432733*helper_8 - 10.534979424097372*x - 21.069958848137972*y) + helper_7*helper_8*(19456*helper_5 + 28672*helper_6 + 86015.999999991996*helper_8 + 284.44444443666833*x - 1.1054045633003564e-8*y - 21.069958847838308))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2928const auto helper_1 = pow(helper_0, 5);
2929const auto helper_2 = pow(x, 3);
2930const auto helper_3 = pow(y, 3);
2931const auto helper_4 = pow(x, 2);
2932const auto helper_5 = pow(y, 2);
2933const auto helper_6 = x*y;
2934result_0 = (1.0/3.0)*helper_6*(pow(helper_0, 3)*(1536*helper_2 + 1024*helper_3 + 17166.222222218305*helper_4*y + 142.22222222098588*helper_4 + 14335.99999999634*helper_5*x - 1.193481842478691e-9*helper_5 + 171.19341563216366*helper_6 - 10.534979424097372*x - 10.534979424068986*y) + pow(helper_0, 2)*helper_6*(19456*helper_4 + 14336*helper_5 + 57343.999999994659*helper_6 + 284.44444443666833*x - 7.3693637553357093e-9*y - 21.069958847838308) + helper_0*helper_4*helper_5*(49152*x + 43008*y - 7.9475254758304463e-9) - helper_1*(1525.7283950598596*x + 1255.5061728376809*y + 463.01234567772167*z - 434.04115226295852) + 32768*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2935 case 49: {{const auto helper_0 = z - 1;
2936const auto helper_1 = pow(helper_0, 4);
2937const auto helper_2 = pow(x, 3);
2938const auto helper_3 = pow(y, 3);
2939const auto helper_4 = pow(helper_0, 3);
2940const auto helper_5 = pow(x, 2);
2941const auto helper_6 = pow(y, 2);
2942const auto helper_7 = pow(helper_0, 2);
2943const auto helper_8 = x*y;
2944result_0 = (1.0/9.0)*y*(helper_0*helper_5*helper_6*(114688*x + 86016*y + 6143.9999999873762) + helper_1*(5846.9135802408264*helper_0*x + 2923.4567901202613*helper_0*y + 13141.333333327611*helper_5 + 4380.4444444423707*helper_6 + 591.0123456778407*helper_7 + 33039.802469117421*helper_8 + 2296.6255143964718*x + 1148.3127571983266*y + 351.86831275555051*z - 335.01234567756643) + 65536*helper_2*helper_3 + 2048*helper_4*(4*helper_2 + helper_3) + helper_4*(83797.333333314877*helper_5*y + 2389.3333333276451*helper_5 + 55864.888888877023*helper_6*x + 796.44444444241594*helper_6 + 7985.5144032735052*helper_8 + 33.711934155508878*x + 16.855967077830186*y) + helper_7*helper_8*(57344*helper_5 + 28672*helper_6 + 156671.99999998725*helper_8 + 8533.3333333150185*x + 5688.8888888769625*y + 33.711934156059122))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2945const auto helper_1 = pow(helper_0, 4);
2946const auto helper_2 = pow(x, 3);
2947const auto helper_3 = pow(y, 3);
2948const auto helper_4 = pow(helper_0, 3);
2949const auto helper_5 = pow(x, 2);
2950const auto helper_6 = pow(y, 2);
2951const auto helper_7 = pow(helper_0, 2);
2952const auto helper_8 = x*y;
2953result_0 = (1.0/9.0)*x*(helper_0*helper_5*helper_6*(86016*x + 114688*y + 6143.9999999873762) + helper_1*(2923.4567901204132*helper_0*x + 5846.9135802405226*helper_0*y + 4380.4444444425371*helper_5 + 13141.333333327113*helper_6 + 591.0123456778407*helper_7 + 33039.802469117421*helper_8 + 1148.3127571982359*x + 2296.6255143966532*y + 351.86831275555051*z - 335.01234567756643) + 65536*helper_2*helper_3 + 2048*helper_4*(helper_2 + 4*helper_3) + helper_4*(55864.88888887658*helper_5*y + 796.44444444254816*helper_5 + 83797.333333315531*helper_6*x + 2389.3333333272476*helper_6 + 7985.5144032735052*helper_8 + 16.855967077754439*x + 33.711934155660373*y) + helper_7*helper_8*(28672*helper_5 + 57344*helper_6 + 156671.99999998725*helper_8 + 5688.8888888766796*x + 8533.3333333154424*y + 33.711934156059122))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2954const auto helper_1 = pow(helper_0, 5);
2955const auto helper_2 = pow(x, 3);
2956const auto helper_3 = pow(y, 3);
2957const auto helper_4 = pow(x, 2);
2958const auto helper_5 = pow(y, 2);
2959const auto helper_6 = x*y;
2960result_0 = -1.0/9.0*helper_6*(pow(helper_0, 3)*(2048*helper_2 + 2048*helper_3 + 27932.44444443829*helper_4*y + 796.44444444254816*helper_4 + 27932.444444438512*helper_5*x + 796.44444444241594*helper_5 + 3992.7572016367526*helper_6 + 16.855967077754439*x + 16.855967077830186*y) + pow(helper_0, 2)*helper_6*(28672*helper_4 + 28672*helper_5 + 104447.9999999915*helper_6 + 5688.8888888766796*x + 5688.8888888769625*y + 33.711934156059122) + helper_0*helper_4*helper_5*(86016*x + 86016*y + 6143.9999999873762) - helper_1*(2923.4567901204132*x + 2923.4567901202613*y + 1182.0246913556814*z - 830.15637860013089) + 65536*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2961 case 50: {{const auto helper_0 = z - 1;
2962const auto helper_1 = pow(helper_0, 3);
2963const auto helper_2 = pow(x, 2);
2964const auto helper_3 = pow(y, 2);
2965const auto helper_4 = x*y;
2966const auto helper_5 = pow(helper_0, 2);
2967result_0 = y*(helper_0*helper_4*(1.2005569347727609e-11*helper_4 + 2.1583656896395692e-11*x + 8.8128734981713098e-12*y + 863.99999999999943) + helper_1*(1296.0000000000084*helper_0*x + 648.00000000000148*helper_0*y + 9.5780875486680844e-12*helper_2 + 4.0458029984311735e-13*helper_3 + 1296.0000000000171*helper_4 + 648.00000000000114*helper_5 + 2160.0000000000095*x + 1080.0000000000014*y + 1080.0000000000005*z - 648.0) + 1.2005569347727605e-11*helper_2*helper_3 + helper_5*(2.1583656896395692e-11*helper_2*y + 9.5780875486680811e-12*helper_2 + 8.8128734981712905e-12*helper_3*x + 4.0458029984311962e-13*helper_3 + 2160.0000000000155*helper_4 + 864.00000000000011*x + 432.00000000000011*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2968const auto helper_1 = pow(helper_0, 3);
2969const auto helper_2 = pow(x, 2);
2970const auto helper_3 = pow(y, 2);
2971const auto helper_4 = x*y;
2972const auto helper_5 = pow(helper_0, 2);
2973result_0 = x*(helper_0*helper_4*(1.2005569347727609e-11*helper_4 + 1.4389104597597128e-11*x + 1.3219310247256964e-11*y + 863.99999999999943) + helper_1*(648.00000000000421*helper_0*x + 1296.000000000003*helper_0*y + 3.1926958495560281e-12*helper_2 + 1.2137408995293522e-12*helper_3 + 1296.0000000000171*helper_4 + 648.00000000000114*helper_5 + 1080.0000000000048*x + 2160.0000000000027*y + 1080.0000000000005*z - 648.0) + 1.2005569347727605e-11*helper_2*helper_3 + helper_5*(1.4389104597597128e-11*helper_2*y + 3.1926958495560273e-12*helper_2 + 1.3219310247256935e-11*helper_3*x + 1.2137408995293588e-12*helper_3 + 2160.0000000000155*helper_4 + 432.00000000000006*x + 864.00000000000023*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2974const auto helper_1 = pow(helper_0, 4);
2975const auto helper_2 = pow(x, 2);
2976const auto helper_3 = pow(y, 2);
2977const auto helper_4 = x*y;
2978result_0 = -helper_4*(pow(helper_0, 2)*(7.1945522987985638e-12*helper_2*y + 3.1926958495560273e-12*helper_2 + 4.4064367490856452e-12*helper_3*x + 4.0458029984311962e-13*helper_3 + 1080.0000000000077*helper_4 + 432.00000000000006*x + 432.00000000000011*y) + helper_0*helper_4*(8.0037128984850729e-12*helper_4 + 1.4389104597597128e-11*x + 8.8128734981713098e-12*y + 863.99999999999943) - helper_1*(648.00000000000421*x + 648.00000000000148*y + 1296.0000000000023*z - 216.00000000000182) + 1.2005569347727605e-11*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2979 case 51: {{const auto helper_0 = z - 1;
2980const auto helper_1 = pow(helper_0, 3);
2981const auto helper_2 = pow(x, 2);
2982const auto helper_3 = pow(y, 2);
2983const auto helper_4 = x*y;
2984const auto helper_5 = pow(helper_0, 2);
2985const auto helper_6 = 3690.5624999997804*helper_2;
2986result_0 = -y*(helper_0*helper_4*(5535.8437499996753*helper_4 + 9226.4062499994579*x + 6150.9374999996307*y + 68.343749999959726) + helper_1*(4203.140624999739*helper_0*x + 2101.5703124998631*helper_0*y + 1230.1874999999222*helper_3 + 10354.078124999369*helper_4 + 871.38281249994304*helper_5 + helper_6 + 4271.4843749997353*x + 2135.7421874998863*y + 905.55468749991326*z - 871.38281249993042) + 5535.8437499996744*helper_2*helper_3 + helper_5*(9226.4062499994579*helper_2*y + 6150.9374999996207*helper_3*x + 1230.1874999999238*helper_3 + 10422.421874999329*helper_4 + helper_6 + 68.34375000004249*x + 34.171875000043762*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
2987const auto helper_1 = pow(helper_0, 3);
2988const auto helper_2 = pow(x, 2);
2989const auto helper_3 = pow(y, 2);
2990const auto helper_4 = x*y;
2991const auto helper_5 = pow(helper_0, 2);
2992const auto helper_6 = 1230.1874999999268*helper_2;
2993result_0 = -x*(helper_0*helper_4*(5535.8437499996753*helper_4 + 6150.9374999996389*x + 9226.406249999447*y + 68.343749999959726) + helper_1*(2101.5703124998695*helper_0*x + 4203.1406249997262*helper_0*y + 3690.5624999997667*helper_3 + 10354.078124999369*helper_4 + 871.38281249994304*helper_5 + helper_6 + 2135.7421874998677*x + 4271.4843749997726*y + 905.55468749991326*z - 871.38281249993042) + 5535.8437499996744*helper_2*helper_3 + helper_5*(6150.937499999638*helper_2*y + 9226.4062499994307*helper_3*x + 3690.5624999997717*helper_3 + 10422.421874999329*helper_4 + helper_6 + 34.171875000021245*x + 68.343750000087525*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
2994const auto helper_1 = pow(helper_0, 4);
2995const auto helper_2 = pow(x, 2);
2996const auto helper_3 = pow(y, 2);
2997const auto helper_4 = x*y;
2998result_0 = helper_4*(pow(helper_0, 2)*(3075.468749999819*helper_2*y + 1230.1874999999268*helper_2 + 3075.4687499998104*helper_3*x + 1230.1874999999238*helper_3 + 5211.2109374996644*helper_4 + 34.171875000021245*x + 34.171875000043762*y) + helper_0*helper_4*(3690.5624999997835*helper_4 + 6150.9374999996389*x + 6150.9374999996307*y + 68.343749999959726) - helper_1*(2101.5703124998695*x + 2101.5703124998631*y + 1742.7656249998861*z - 837.21093749997283) + 5535.8437499996744*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
2999 case 52: {{const auto helper_0 = z - 1;
3000const auto helper_1 = pow(helper_0, 3);
3001const auto helper_2 = pow(x, 2);
3002const auto helper_3 = pow(y, 2);
3003const auto helper_4 = x*y;
3004const auto helper_5 = pow(helper_0, 2);
3005result_0 = y*(helper_0*helper_4*(5535.8437499997453*helper_4 + 7381.1249999995744*x + 6150.9374999996971*y - 68.343750000011994) + helper_1*(1947.7968749998288*helper_0*x + 1588.9921874999027*helper_0*y + 1845.2812499998274*helper_2 + 1230.1874999999329*helper_3 + 8098.7343749995252*helper_4 + 358.80468749997215*helper_5 + 1879.4531249998415*x + 1554.8203124999345*y + 324.63281249996101*z - 358.8046874999626) + 5535.8437499997444*helper_2*helper_3 + helper_5*(7381.1249999995716*helper_2*y + 1845.2812499998263*helper_2 + 6150.937499999688*helper_3*x + 1230.1874999999336*helper_3 + 8030.3906249995207*helper_4 - 68.34374999994823*x - 34.171874999951342*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
3006const auto helper_1 = pow(helper_0, 3);
3007const auto helper_2 = pow(x, 2);
3008const auto helper_3 = pow(y, 2);
3009const auto helper_4 = x*y;
3010const auto helper_5 = pow(helper_0, 2);
3011result_0 = x*(helper_0*helper_4*(5535.8437499997453*helper_4 + 4920.7499999997162*x + 9226.4062499995453*y - 68.343750000011994) + helper_1*(973.89843749991439*helper_0*x + 3177.9843749998054*helper_0*y + 615.09374999994247*helper_2 + 3690.562499999799*helper_3 + 8098.7343749995252*helper_4 + 358.80468749997215*helper_5 + 939.72656249992076*x + 3109.640624999869*y + 324.63281249996101*z - 358.8046874999626) + 5535.8437499997444*helper_2*helper_3 + helper_5*(4920.7499999997144*helper_2*y + 615.09374999994213*helper_2 + 9226.4062499995325*helper_3*x + 3690.5624999998008*helper_3 + 8030.3906249995207*helper_4 - 34.171874999974115*x - 68.343749999902684*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
3012const auto helper_1 = pow(helper_0, 4);
3013const auto helper_2 = pow(x, 2);
3014const auto helper_3 = pow(y, 2);
3015const auto helper_4 = x*y;
3016result_0 = -helper_4*(pow(helper_0, 2)*(2460.3749999998572*helper_2*y + 615.09374999994213*helper_2 + 3075.468749999844*helper_3*x + 1230.1874999999336*helper_3 + 4015.1953124997603*helper_4 - 34.171874999974115*x - 34.171874999951342*y) + helper_0*helper_4*(3690.5624999998299*helper_4 + 4920.7499999997162*x + 6150.9374999996971*y - 68.343750000011994) - helper_1*(973.89843749991439*x + 1588.9921874999027*y + 717.60937499994429*z - 392.97656249998329) + 5535.8437499997444*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
3017 case 53: {{const auto helper_0 = z - 1;
3018const auto helper_1 = pow(helper_0, 3);
3019const auto helper_2 = pow(x, 2);
3020const auto helper_3 = pow(y, 2);
3021const auto helper_4 = x*y;
3022const auto helper_5 = pow(helper_0, 2);
3023result_0 = y*(helper_0*helper_4*(5535.8437499996307*helper_4 + 9226.4062499993925*x + 4920.7499999995935*y - 68.343750000059075) + helper_1*(3177.9843749996885*helper_0*x + 973.89843749984107*helper_0*y + 3690.5624999997572*helper_2 + 615.09374999991837*helper_3 + 8098.7343749992815*helper_4 + 358.80468749992531*helper_5 + 3109.6406249996617*x + 939.72656249985459*y + 324.63281249988682*z - 358.80468749991525) + 5535.8437499996298*helper_2*helper_3 + helper_5*(9226.406249999387*helper_2*y + 3690.5624999997563*helper_2 + 4920.7499999995825*helper_3*x + 615.09374999991951*helper_3 + 8030.3906249992215*helper_4 - 68.343749999980076*x - 34.171874999967407*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
3024const auto helper_1 = pow(helper_0, 3);
3025const auto helper_2 = pow(x, 2);
3026const auto helper_3 = pow(y, 2);
3027const auto helper_4 = x*y;
3028const auto helper_5 = pow(helper_0, 2);
3029result_0 = x*(helper_0*helper_4*(5535.8437499996307*helper_4 + 6150.9374999995944*x + 7381.1249999993906*y - 68.343750000059075) + helper_1*(1588.9921874998442*helper_0*x + 1947.7968749996821*helper_0*y + 1230.1874999999191*helper_2 + 1845.2812499997551*helper_3 + 8098.7343749992815*helper_4 + 358.80468749992531*helper_5 + 1554.8203124998308*x + 1879.4531249997092*y + 324.63281249988682*z - 358.80468749991525) + 5535.8437499996298*helper_2*helper_3 + helper_5*(6150.9374999995916*helper_2*y + 1230.1874999999188*helper_2 + 7381.1249999993743*helper_3*x + 1845.2812499997585*helper_3 + 8030.3906249992215*helper_4 - 34.171874999990038*x - 68.343749999934815*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
3030const auto helper_1 = pow(helper_0, 4);
3031const auto helper_2 = pow(x, 2);
3032const auto helper_3 = pow(y, 2);
3033const auto helper_4 = x*y;
3034result_0 = -helper_4*(pow(helper_0, 2)*(3075.4687499997958*helper_2*y + 1230.1874999999188*helper_2 + 2460.3749999997913*helper_3*x + 615.09374999991951*helper_3 + 4015.1953124996107*helper_4 - 34.171874999990038*x - 34.171874999967407*y) + helper_0*helper_4*(3690.5624999997535*helper_4 + 6150.9374999995944*x + 4920.7499999995935*y - 68.343750000059075) - helper_1*(1588.9921874998442*x + 973.89843749984107*y + 717.60937499985062*z - 392.97656249996379) + 5535.8437499996298*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
3035 case 54: {{const auto helper_0 = z - 1;
3036const auto helper_1 = pow(helper_0, 3);
3037const auto helper_2 = pow(x, 2);
3038const auto helper_3 = pow(y, 2);
3039const auto helper_4 = x*y;
3040const auto helper_5 = pow(helper_0, 2);
3041result_0 = -y*(helper_0*helper_4*(5535.8437499997117*helper_4 + 7381.1249999995252*x + 4920.7499999996689*y + 68.343749999968281) + helper_1*(1742.7656249997842*helper_0*x + 871.38281249988279*helper_0*y + 1845.2812499998113*helper_2 + 615.09374999992963*helper_3 + 6663.5156249994534*helper_4 + 256.28906249995532*helper_5 + 1811.1093749997758*x + 905.55468749990371*y + 290.46093749993429*z - 256.28906249994702) + 5535.8437499997099*helper_2*helper_3 + helper_5*(7381.1249999995216*helper_2*y + 1845.2812499998108*helper_2 + 4920.7499999996589*helper_3*x + 615.09374999993042*helper_3 + 6731.8593749994261*helper_4 + 68.343750000028933*x + 34.171875000037353*y))/helper_1;val.col(0) = result_0; }{const auto helper_0 = z - 1;
3042const auto helper_1 = pow(helper_0, 3);
3043const auto helper_2 = pow(x, 2);
3044const auto helper_3 = pow(y, 2);
3045const auto helper_4 = x*y;
3046const auto helper_5 = pow(helper_0, 2);
3047result_0 = -x*(helper_0*helper_4*(5535.8437499997117*helper_4 + 4920.7499999996835*x + 7381.1249999995034*y + 68.343749999968281) + helper_1*(871.38281249989211*helper_0*x + 1742.7656249997656*helper_0*y + 615.09374999993713*helper_2 + 1845.281249999789*helper_3 + 6663.5156249994534*helper_4 + 256.28906249995532*helper_5 + 905.5546874998879*x + 1811.1093749998074*y + 290.46093749993429*z - 256.28906249994702) + 5535.8437499997099*helper_2*helper_3 + helper_5*(4920.7499999996808*helper_2*y + 615.0937499999369*helper_2 + 7381.1249999994889*helper_3*x + 1845.2812499997913*helper_3 + 6731.8593749994261*helper_4 + 34.171875000014467*x + 68.343750000074706*y))/helper_1;val.col(1) = result_0; }{const auto helper_0 = z - 1;
3048const auto helper_1 = pow(helper_0, 4);
3049const auto helper_2 = pow(x, 2);
3050const auto helper_3 = pow(y, 2);
3051const auto helper_4 = x*y;
3052result_0 = helper_4*(pow(helper_0, 2)*(2460.3749999998404*helper_2*y + 615.0937499999369*helper_2 + 2460.3749999998295*helper_3*x + 615.09374999993042*helper_3 + 3365.9296874997131*helper_4 + 34.171875000014467*x + 34.171875000037353*y) + helper_0*helper_4*(3690.5624999998076*helper_4 + 4920.7499999996835*x + 4920.7499999996689*y + 68.343749999968281) - helper_1*(871.38281249989211*x + 871.38281249988279*y + 512.57812499991064*z - 222.11718749997635) + 5535.8437499997099*helper_2*helper_3)/helper_1;val.col(2) = result_0; }} break;
3053 default: assert(false);
3054}}
3055
3056
3057void pyramid_4_nodes_3d(Eigen::MatrixXd &res) {
3058 res.resize(55, 3); res <<
30590, 0, 0,
30601, 0, 0,
30611, 1, 0,
30620, 1, 0,
30630, 0, 1,
30641.0/4.0, 0, 0,
30651.0/2.0, 0, 0,
30663.0/4.0, 0, 0,
30671, 1.0/4.0, 0,
30681, 1.0/2.0, 0,
30691, 3.0/4.0, 0,
30703.0/4.0, 1, 0,
30711.0/2.0, 1, 0,
30721.0/4.0, 1, 0,
30730, 3.0/4.0, 0,
30740, 1.0/2.0, 0,
30750, 1.0/4.0, 0,
30760, 0, 1.0/4.0,
30770, 0, 1.0/2.0,
30780, 0, 3.0/4.0,
30793.0/4.0, 0, 1.0/4.0,
30801.0/2.0, 0, 1.0/2.0,
30811.0/4.0, 0, 3.0/4.0,
30823.0/4.0, 3.0/4.0, 1.0/4.0,
30831.0/2.0, 1.0/2.0, 1.0/2.0,
30841.0/4.0, 1.0/4.0, 3.0/4.0,
30850, 3.0/4.0, 1.0/4.0,
30860, 1.0/2.0, 1.0/2.0,
30870, 1.0/4.0, 3.0/4.0,
30881.0/4.0, 0, 1.0/4.0,
30891.0/4.0, 0, 1.0/2.0,
30901.0/2.0, 0, 1.0/4.0,
30913.0/4.0, 1.0/4.0, 1.0/4.0,
30921.0/2.0, 1.0/4.0, 1.0/2.0,
30933.0/4.0, 1.0/2.0, 1.0/4.0,
30941.0/2.0, 3.0/4.0, 1.0/4.0,
30951.0/4.0, 1.0/2.0, 1.0/2.0,
30961.0/4.0, 3.0/4.0, 1.0/4.0,
30970, 1.0/2.0, 1.0/4.0,
30980, 1.0/4.0, 1.0/2.0,
30990, 1.0/4.0, 1.0/4.0,
31001.0/4.0, 1.0/4.0, 0,
31011.0/4.0, 1.0/2.0, 0,
31021.0/4.0, 3.0/4.0, 0,
31031.0/2.0, 1.0/4.0, 0,
31041.0/2.0, 1.0/2.0, 0,
31051.0/2.0, 3.0/4.0, 0,
31063.0/4.0, 1.0/4.0, 0,
31073.0/4.0, 1.0/2.0, 0,
31083.0/4.0, 3.0/4.0, 0,
31090.16666666666666666, 0.16666666666666666, 2.0/3.0,
31102.0/9.0, 2.0/9.0, 1.0/3.0,
31112.0/9.0, 4.0/9.0, 1.0/3.0,
31124.0/9.0, 2.0/9.0, 1.0/3.0,
31134.0/9.0, 4.0/9.0, 1.0/3.0;
3114}
3115
3116
3117}
3118
3119void pyramid_nodes_3d(const int pyramid, Eigen::MatrixXd &val){
3120switch(pyramid){
3121 case 0: pyramid_0_nodes_3d(val); break;
3122 case 1: pyramid_1_nodes_3d(val); break;
3123 case 2: pyramid_2_nodes_3d(val); break;
3124 case 3: pyramid_3_nodes_3d(val); break;
3125 case 4: pyramid_4_nodes_3d(val); break;
3126 default: assert(false);
3127}}
3128void pyramid_basis_value_3d(const int pyramid, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val){
3129
3130switch(pyramid){
3131 case 0: pyramid_0_basis_value_3d(local_index, uv, val); break;
3132 case 1: pyramid_1_basis_value_3d(local_index, uv, val); break;
3133 case 2: pyramid_2_basis_value_3d(local_index, uv, val); break;
3134 case 3: pyramid_3_basis_value_3d(local_index, uv, val); break;
3135 case 4: pyramid_4_basis_value_3d(local_index, uv, val); break;
3136 default: assert(false);
3137}}
3138
3139void pyramid_grad_basis_value_3d(const int pyramid, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val){
3140
3141switch(pyramid){
3142 case 0: pyramid_0_basis_grad_value_3d(local_index, uv, val); break;
3143 case 1: pyramid_1_basis_grad_value_3d(local_index, uv, val); break;
3144 case 2: pyramid_2_basis_grad_value_3d(local_index, uv, val); break;
3145 case 3: pyramid_3_basis_grad_value_3d(local_index, uv, val); break;
3146 case 4: pyramid_4_basis_grad_value_3d(local_index, uv, val); break;
3147 default: assert(false);
3148}}
3149
3150namespace {
3151
3152}}}
double val
Definition Assembler.cpp:86
int y
int z
int x
void pyramid_nodes_3d(const int pyramid, Eigen::MatrixXd &val)
void pyramid_grad_basis_value_3d(const int pyramid, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)
void pyramid_basis_value_3d(const int pyramid, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)