dune-fem 2.8.0
Loading...
Searching...
No Matches
orthonormalbase_2d.hh
Go to the documentation of this file.
1// original implementation done by Christian Engwer
2#ifndef DUNE_ORTHONORMALBASE_2D_HH
3#define DUNE_ORTHONORMALBASE_2D_HH
4
5#define PMAX2D 8
6
7#include <stdlib.h>
8#include <stdio.h>
9#include <cassert>
10
11namespace Dune {
12
13 namespace Fem {
14
15 template <class DomainField, class RangeField>
17 {
18 typedef const DomainField* DomainType;
19 typedef RangeField* JacobianRangeType;
20 typedef RangeField HessianRangeType[3];
21
22 public:
23 /* \phi_i(x,y) for triangle */
24 static RangeField
25 eval_triangle_2d ( const int i, DomainType xi )
26 {
27 const RangeField &x = xi[0];
28 const RangeField &y = xi[1];
29
30 switch (i) {
31 #if (PMAX2D>=0)
32 case ( 0 ):
33 return 1.4142135623730950488016887242097;
34 #endif
35 #if (PMAX2D>=1)
36 case ( 1 ):
37 return -2.
38 + 6.*x;
39 case ( 2 ):
40 return -3.4641016151377545870548926830117
41 + 3.4641016151377545870548926830117*x
42 + 6.928203230275509174109785366023*y;
43 #endif
44 #if (PMAX2D>=2)
45 case ( 3 ):
46 return 2.4494897427831780981972840747059
47 + x*(-19.595917942265424785578272597647
48 + 24.494897427831780981972840747059*x);
49 case ( 4 ):
50 return 4.2426406871192851464050661726291
51 - 8.485281374238570292810132345258*y
52 + x*(-25.455844122715710878430397035775
53 + 21.213203435596425732025330863145*x
54 + 42.426406871192851464050661726291*y);
55 case ( 5 ):
56 return 5.477225575051661134569697828008
57 + y*(-32.863353450309966807418186968048
58 + 32.863353450309966807418186968048*y)
59 + x*(-10.954451150103322269139395656016
60 + 5.477225575051661134569697828008*x
61 + 32.863353450309966807418186968048*y);
62 #endif
63 #if (PMAX2D>=3)
64 case ( 6 ):
65 return -2.8284271247461900976033774484194
66 + x*(42.426406871192851464050661726291
67 + x*(-127.27922061357855439215198517887
68 + 98.99494936611665341611821069468*x));
69 case ( 7 ):
70 return -4.8989794855663561963945681494118
71 + 9.797958971132712392789136298824*y
72 + x*(63.686733312362630553129385942353
73 - 117.57550765359254871346963558588*y
74 + x*(-161.66632302368975448102074893059
75 + 102.87856919689348012428593113765*x
76 + 205.75713839378696024857186227529*y));
77 case ( 8 ):
78 return -6.3245553203367586639977870888654
79 + (37.947331922020551983986722533193
80 - 37.947331922020551983986722533193*y)*y
81 + x*(56.920997883030827975980083799789
82 + y*(-303.57865537616441587189378026554
83 + 265.63132345414386388790705773235*y)
84 + x*(-94.868329805051379959966806332982
85 + 44.271887242357310647984509622058*x
86 + 265.63132345414386388790705773235*y));
87 case ( 9 ):
88 return -7.4833147735478827711674974646331
89 + y*(89.799777282574593254009969575597
90 + y*(-224.49944320643648313502492393899
91 + 149.66629547095765542334994929266*y))
92 + x*(22.449944320643648313502492393899
93 + x*(-22.449944320643648313502492393899
94 + 7.483314773547882771167497464633*x
95 + 89.7997772825745932540099695756*y)
96 + y*(-179.59955456514918650801993915119
97 + 224.49944320643648313502492393899*y));
98 #endif
99 #if (PMAX2D>=4)
100 case ( 10 ):
101 return 3.1622776601683793319988935444327
102 + x*(-75.894663844041103967973445066385
103 + x*(398.44698518121579583186058659852
104 + x*(-708.35019587771697036775215395293
105 + 398.44698518121579583186058659852*x)));
106 case ( 11 ):
107 return 5.477225575051661134569697828008
108 - 10.954451150103322269139395656016*y
109 + x*(-120.49896265113654496053335221618
110 + 230.04347415216976765192730877634*y
111 + x*(575.10868538042441912981827194084
112 - 920.1738966086790706077092351053*y
113 + x*(-920.17389660867907060770923510535
114 + 460.08694830433953530385461755267*x
115 + 920.1738966086790706077092351053*y)));
116 case ( 12 ):
117 return 7.0710678118654752440084436210485
118 + y*(-42.426406871192851464050661726291
119 + 42.426406871192851464050661726291*y)
120 + x*(-127.27922061357855439215198517887
121 + (721.24891681027847488886124934695
122 - 678.8225099390856234248105876207*y)*y
123 + x*(487.90367901871779183658260985235
124 + y*(-2206.1731573020282761306344097671
125 + 1527.3506473629426527058238221465*y)
126 + x*(-622.25396744416182147274303865227
127 + 254.55844122715710878430397035775*x
128 + 1527.3506473629426527058238221465*y)));
129 case ( 13 ):
130 return 8.3666002653407554797817202578519
131 + y*(-100.39920318408906575738064309422
132 + (250.99800796022266439345160773556
133 - 167.33200530681510959563440515704*y)*y)
134 + x*(-100.39920318408906575738064309422
135 + y*(1104.3912350249797233311870740364
136 + y*(-2509.9800796022266439345160773556
137 + 1505.9880477613359863607096464133*y))
138 + x*(250.99800796022266439345160773556
139 + x*(-234.26480742954115343388816721985
140 + 75.29940238806679931803548232067*x
141 + 903.592828656801591816425787848*y)
142 + y*(-1907.5848604976922493902322187902
143 + 2258.98207164200397954106446962*y)));
144 case ( 14 ):
145 return 9.4868329805051379959966806332982
146 + y*(-189.73665961010275991993361266596
147 + y*(853.81496824546241963970125699683
148 + y*(-1328.1566172707193194395352886617
149 + 664.0783086353596597197676443309*y)))
150 + x*(-37.947331922020551983986722533193
151 + x*(56.920997883030827975980083799789
152 + x*(-37.947331922020551983986722533193
153 + 9.486832980505137995996680633298*x
154 + 189.73665961010275991993361266596*y)
155 + y*(-569.20997883030827975980083799789
156 + 853.8149682454624196397012569968*y))
157 + y*(569.20997883030827975980083799789
158 + y*(-1707.6299364909248392794025139937
159 + 1328.1566172707193194395352886617*y)));
160 #endif
161 #if (PMAX2D>=5)
162 case ( 15 ):
163 return -3.4641016151377545870548926830117
164 + x*(121.24355652982141054692124390541
165 + x*(-969.94845223857128437536995124329
166 + x*(2909.8453567157138531261098537299
167 + x*(-3637.3066958946423164076373171623
168 + 1600.4149461936426192193604195514*x))));
169 case ( 16 ):
170 return -6.
171 + 12.*y
172 + x*(198.
173 - 384.*y
174 + x*(-1488.
175 + 2592.*y
176 + x*(4176.
177 - 5760.*y
178 + x*(-4860.
179 + 1980.*x
180 + 3960.*y))));
181 case ( 17 ):
182 return -7.7459666924148337703585307995648
183 + (46.475800154489002622151184797389
184 - 46.475800154489002622151184797389*y)*y
185 + x*(224.63303408003017934039739318738
186 + y*(-1301.3224043256920734202331743269
187 + 1254.8466041712030707980819895295*y)
188 + x*(-1471.7336715588184163681208519173
189 + (7529.079625027218424788491937177
190 - 6274.233020856015353990409947647*y)*y
191 + x*(3578.6366118956532019056412293989
192 + y*(-13942.740046346700786645355439217
193 + 7668.507025490685432654945491569*y)
194 + x*(-3601.8745119728977032167168217976
195 + 1278.0845042484475721091575819282*x
196 + 7668.507025490685432654945491569*y))));
197 case ( 18 ):
198 return -9.165151389911680013176094387456
199 + y*(109.98181667894016015811313264947
200 + y*(-274.95454169735040039528283162368
201 + 183.30302779823360026352188774912*y))
202 + x*(210.79848196796864030305017091149
203 + y*(-2419.5999669366835234784889182884
204 + (5774.0453756443584083009394640973
205 - 3666.0605559646720052704377549824*y)*y)
206 + x*(-1081.4878640095782415547791377198
207 + y*(10558.254401178255375178860734349
208 + y*(-20621.590627301280029646212371776
209 + 10081.666528902848014493703826202*y))
210 + x*(2071.3242141200396829777973315651
211 + x*(-1695.5530071336608024375774616794
212 + 504.0833264451424007246851913101*x
213 + 6048.999917341708808696222295721*y)
214 + y*(-14297.636168262220820554707244431
215 + 15122.499793354272021740555739302*y))));
216 case ( 19 ):
217 return -10.392304845413263761164678049035
218 + y*(207.8460969082652752232935609807
219 + y*(-935.30743608719373850482102441317
220 + (1454.9226783578569265630549268649
221 - 727.4613391789284632815274634325*y)*y))
222 + x*(155.88457268119895641747017073553
223 + y*(-2909.8453567157138531261098537299
224 + y*(12158.996669133518600562673317371
225 + y*(-17459.072140294283118756659122379
226 + 8002.074730968213096096802097757*y)))
227 + x*(-519.61524227066318805823390245176
228 + x*(727.46133917892846328152746343247
229 + x*(-467.65371804359686925241051220659
230 + 114.31535329954590137281145853939*x
231 + 2286.3070659909180274562291707878*y)
232 + y*(-7066.767294881019357591981073344
233 + 10288.381796959131123553031268545*y))
234 + y*(7482.4594886975499080385681953054
235 + y*(-21512.071030005455985610883561503
236 + 16004.149461936426192193604195514*y))));
237 case ( 20 ):
238 return -11.489125293076057319701222936438
239 + y*(344.67375879228171959103668809314
240 + y*(-2412.716311545972037137256816652
241 + y*(6433.9101641225920990326848444052
242 + y*(-7238.1489346379161114117704499559
243 + 2895.2595738551664445647081799823*y))))
244 + x*(57.445626465380286598506114682189
245 + x*(-114.89125293076057319701222936438
246 + x*(114.89125293076057319701222936438
247 + x*(-57.445626465380286598506114682189
248 + 11.489125293076057319701222936438*x
249 + 344.67375879228171959103668809314*y)
250 + y*(-1378.6950351691268783641467523725
251 + 2412.716311545972037137256816652*y))
252 + y*(2068.0425527536903175462201285588
253 + y*(-7238.1489346379161114117704499559
254 + 6433.910164122592099032684844405*y)))
255 + y*(-1378.6950351691268783641467523725
256 + y*(7238.1489346379161114117704499559
257 + y*(-12867.82032824518419806536968881
258 + 7238.148934637916111411770449956*y))));
259 #endif
260 #if (PMAX2D>=6)
261 case ( 21 ):
262 return 3.7416573867739413855837487323165
263 + x*(-179.59955456514918650801993915119
264 + x*(2020.4949888579283482152243154509
265 + x*(-8979.9777282574593254009969575597
266 + x*(18521.204064531009858639556224967
267 + x*(-17780.355901949769464293973975968
268 + 6420.684075704083417661712824655*x)))));
269 case ( 22 ):
270 return 6.480740698407860230965967436088
271 - 12.961481396815720461931934872176*y
272 + x*(-298.11407212676157062443450206005
273 + 583.2666628567074207869370692479*y
274 + x*(3207.9666457118908143281538808636
275 - 5832.666628567074207869370692479*y
276 + x*(-13609.555466656506485028531615785
277 + 21386.44430474593876218769253909*y
278 + x*(26733.055380932423452734615673863
279 - 32079.666457118908143281538808636*y
280 + x*(-24380.546507410370188893969494563
281 + 8340.713278850916117253200090245*x
282 + 16681.426557701832234506400180491*y)))));
283 case ( 23 ):
284 return 8.3666002653407554797817202578519
285 + y*(-50.199601592044532878690321547111
286 + 50.19960159204453287869032154711*y)
287 + x*(-351.39721114431173015083225082978
288 + (2058.1836652738258480263031834316
289 - 2007.9840636817813151476128618844*y)*y
290 + x*(3438.6727090550505021902870259771
291 + y*(-18573.852589056477165115418972431
292 + 16565.868525374695849967806110547*y)
293 + x*(-13219.228419238393658055118007406
294 + (60741.517926373884783215289072005
295 - 44175.649400999188933247482961458*y)*y
296 + x*(23468.313744280819120787725323275
297 + y*(-80068.364539311029941511062867642
298 + 35892.715138311841008263579906185*y)
299 + x*(-19326.846612937145158295773795638
300 + 5982.119189718640168043929984364*x
301 + 35892.715138311841008263579906185*y)))));
302 case ( 24 ):
303 return 9.8994949366116653416118210694679
304 + y*(-118.79393923933998409934185283361
305 + (296.98484809834996024835463208404
306 - 197.98989873223330683223642138936*y)*y)
307 + x*(-356.38181771801995229802555850084
308 + y*(4157.7878733768994434769648491765
309 + y*(-10097.484835343898648444057490857
310 + 6533.666658163699125463801905849*y))
311 + x*(2969.8484809834996024835463208404
312 + y*(-31480.393898425095786325591000908
313 + (68603.499910718840817369920011412
314 - 39201.999948982194752782811435093*y)*y)
315 + x*(-9701.5050378794320347795846480785
316 + y*(84937.666556128088631029424776034
317 + y*(-143740.66647960138076020364192867
318 + 56625.11103741872575401961651736*y))
319 + x*(14700.74998086832303229355428816
320 + x*(-10453.866653061918600742083049358
321 + 2831.2555518709362877009808258678*x
322 + 33975.066622451235452411769910414*y)
323 + y*(-91471.333214291787756493226681883
324 + 84937.66655612808863102942477603*y)))));
325 case ( 25 ):
326 return 11.22497216032182415675124619695
327 + y*(-224.49944320643648313502492393899
328 + y*(1010.2474944289641741076121577255
329 + y*(-1571.496102445055381945174467573
330 + 785.7480512225276909725872337865*y)))
331 + x*(-314.29922048901107638903489351459
332 + y*(6061.4849665737850446456729463528
333 + y*(-26266.434855153068526797916100862
334 + (39287.402561126384548629361689324
335 - 18857.953229340664583342093610875*y)*y))
336 + x*(2020.4949888579283482152243154509
337 + y*(-34348.414810584781919658813362666
338 + y*(128301.43179247845011166674403113
339 + y*(-160292.60244939564895840779569244
340 + 61288.34799535715989586180423535*y)))
341 + x*(-5163.4871937480391121055732505968
342 + x*(6342.1092705818306485644541012766
343 + x*(-3771.5906458681329166684187221751
344 + 875.5478285051022842265972033621*x
345 + 17510.956570102045684531944067241*y)
346 + y*(-57920.85634726061264883643037626
347 + 78799.30456545920558039374830259*y))
348 + y*(68921.329064376000322452651649271
349 + y*(-181844.54899721355133937018839058
350 + 122576.69599071431979172360847069*y)))));
351 case ( 26 ):
352 return 12.409673645990856596133241955449
353 + y*(-372.29020937972569788399725866348
354 + y*(2606.0314656580798851879808106444
355 + y*(-6949.4172417548796938346154950517
356 + (7818.0943969742396555639424319332
357 - 3127.2377587896958622255769727733*y)*y)))
358 + x*(-223.37412562783541873039835519809
359 + y*(6328.9335594553368640279533972792
360 + y*(-41696.50345052927816300769297031
361 + y*(104241.25862632319540751923242578
362 + y*(-109453.32155763935517789519404706
363 + 40654.090864266046208932500646052*y))))
364 + x*(930.72552344931424470999314665871
365 + x*(-1737.3543104387199234586538737629
366 + x*(1675.3059422087656404779876639857
367 + x*(-819.03846063539653534479396905967
368 + 161.32575739788113574973214542084*x
369 + 4839.7727219364340724919643626253*y)
370 + y*(-19731.381097125461987851854709165
371 + 33878.409053555038507443750538377*y))
372 + y*(30527.797169137507226487775210406
373 + y*(-104241.25862632319540751923242578
374 + 90342.42414281343601985000143567*y)))
375 + y*(-21592.832144024090477271841002482
376 + y*(109453.32155763935517789519404706
377 + y*(-187634.2655273817517335346183664
378 + 101635.22716066511552233125161513*y)))));
379 case ( 27 ):
380 return 13.490737563232041465550305611496
381 + y*(-566.61097765574574155311283568281
382 + y*(5666.1097765574574155311283568281
383 + y*(-22664.439106229829662124513427313
384 + y*(42495.823324180930616483462676211
385 + y*(-37396.324525279218942505447155066
386 + 12465.441508426406314168482385022*y)))))
387 + x*(-80.944425379392248793301833668973
388 + y*(2833.0548882787287077655641784141
389 + y*(-22664.439106229829662124513427313
390 + y*(67993.317318689488986373540281938
391 + y*(-84991.646648361861232966925352422
392 + 37396.324525279218942505447155066*y))))
393 + x*(202.36106344848062198325458417243
394 + x*(-269.81475126464082931100611222991
395 + x*(202.36106344848062198325458417243
396 + x*(-80.944425379392248793301833668973
397 + 13.490737563232041465550305611496*x
398 + 566.6109776557457415531128356828*y)
399 + y*(-2833.0548882787287077655641784141
400 + 5666.109776557457415531128356828*y))
401 + y*(5666.1097765574574155311283568281
402 + y*(-22664.439106229829662124513427313
403 + 22664.439106229829662124513427313*y)))
404 + y*(-5666.1097765574574155311283568281
405 + y*(33996.658659344744493186770140969
406 + y*(-67993.317318689488986373540281938
407 + 42495.823324180930616483462676211*y)))));
408 #endif
409 #if (PMAX2D>=7)
410 case ( 28 ):
411 return -4.
412 + x*(252.
413 + x*(-3780.
414 + x*(23100.
415 + x*(-69300.
416 + x*(108108.
417 + x*(-84084.
418 + 25740.*x))))));
419 case ( 29 ):
420 return -6.9282032302755091741097853660235
421 + 13.856406460551018348219570732047*y
422 + x*(422.62039704680605962069690732743
423 - 831.3843876330611008931742439228*y
424 + x*(-6131.4598587938256190871600489308
425 + 11431.535329954590137281145853939*y
426 + x*(36199.861878189535434723628537473
427 - 60968.18842642448073216611122101*y
428 + x*(-104789.07385791707625841050366111
429 + 148609.9592894096717846548961012*y
430 + x*(157526.55684677425209173418986728
431 - 166443.15440413883239881348363335*y
432 + x*(-117897.23436959833961582621757362
433 + 34675.657167528923416419475756948*x
434 + 69351.3143350578468328389515139*y))))));
435 case ( 30 ):
436 return -8.9442719099991587856366946749251
437 + (53.665631459994952713820168049551
438 - 53.66563145999495271382016804955*y)*y
439 + x*(509.82349886995205078129159647073
440 + y*(-3005.2753617597173519739294107748
441 + 2951.6097302997223992601092427253*y)
442 + x*(-6896.0336426093514237258915943673
443 + (38370.926493896391190381420155429
444 - 35419.316763596668791121310912703*y)*y
445 + x*(37878.991538846437457171401948308
446 + y*(-188903.02273918223355264699153442
447 + 153483.70597558556476152568062171*y)
448 + x*(-101830.53569534042277447376887402
449 + (422080.19143286030309419562170972
450 - 268596.485457274738332669941088*y)*y
451 + x*(141972.42802741664740441125457509
452 + y*(-429754.3767316395813322719057408
453 + 161157.8912743648429996019646528*y)
454 + x*(-98485.3780010007373886456450656
455 + 26859.6485457274738332669941088*x
456 + 161157.8912743648429996019646528*y))))));
457 case ( 31 ):
458 return -10.583005244258362362006463014557
459 + y*(126.99606293110034834407755617468
460 + y*(-317.49015732775087086019389043671
461 + 211.66010488516724724012926029114*y))
462 + x*(539.73326745717648046232961374241
463 + y*(-6349.8031465550174172038778087342
464 + (15557.017709059792672149500631399
465 - 10159.685034488027867526204493975*y)*y)
466 + x*(-6508.5482252188928526339747539526
467 + y*(71752.775556071696814403819238697
468 + y*(-163824.92118111944936386004746534
469 + 99056.92908625827170838049381625*y))
470 + x*(31801.930758996378897829421358744
471 + y*(-309870.39355188484995954923706623
472 + (610851.06269859267553501304520023
473 - 308177.1127128035119816282029839*y)*y)
474 + x*(-76038.892679996333571016436759592
475 + y*(602596.31860807115289264800404888
476 + y*(-895639.73382158520669660696492196
477 + 288916.04316825329248277644029741*y))
478 + x*(94516.819836471434255079721183009
479 + x*(-58746.262110878169471497876193806
480 + 14445.80215841266462413882201487*x
481 + 173349.62590095197548966586417844*y)
482 + y*(-531605.51942958605816830865014723
483 + 433374.06475237993872416466044611*y))))));
484 case ( 32 ):
485 return -12.
486 + y*(240.
487 + y*(-1080.
488 + (1680.
489 - 840.*y)*y))
490 + x*(516.
491 + y*(-10080.
492 + y*(44280.
493 + y*(-67200.
494 + 32760.*y)))
495 + x*(-5220.
496 + y*(94320.
497 + y*(-380160.
498 + (524160.
499 - 229320.*y)*y))
500 + x*(21420.
501 + y*(-334080.
502 + y*(1.1232e6
503 + y*(-1.22304e6
504 + 382200.*y)))
505 + x*(-43380.
506 + x*(46332.
507 + x*(-25116.
508 + 5460.*x
509 + 109200.*y)
510 + y*(-393120.
511 + 491400.*y))
512 + y*(533520.
513 + y*(-1.27764e6
514 + 764400.*y))))));
515 case ( 33 ):
516 return -13.266499161421599396459730946683
517 + y*(397.99497484264798189379192840048
518 + y*(-2785.9648238985358732565434988034
519 + y*(7429.2395303960956620174493301423
520 + y*(-8357.8944716956076197696304964101
521 + 3343.1577886782430479078521985641*y))))
522 + x*(437.79447232691278008317112124053
523 + y*(-12735.839194964735420601341708815
524 + y*(86364.909540854612070952848462905
525 + y*(-222877.18591188286986052347990427
526 + (242378.93967917262097331928439589
527 - 93608.41808299080534141986155979*y)*y)))
528 + x*(-3382.9572861625078460972313914041
529 + y*(88752.879389910499962315600033308
530 + y*(-534905.24618851888766525635177025
531 + y*(1.2035368039241674972468267914831e6
532 + y*(-1.1115999647355158134293608560225e6
533 + 351031.56781121552003032448084923*y))))
534 + x*(10812.196816558603508114680721546
535 + x*(-17710.776380497835194273740813821
536 + x*(15800.400501253124881183539557499
537 + x*(-7336.3740362661444662422312135156
538 + 1392.9824119492679366282717494017*x
539 + 41789.472358478038098848152482051*y)
540 + y*(-178301.74872950629588841878392342
541 + 292526.30650934626669193706737435*y))
542 + y*(295710.26630808745054708740280156
543 + y*(-955585.93459719780452699442008956
544 + 780070.1506915900445118321796649*y)))
545 + y*(-235613.02510684760528112482161309
546 + y*(1.1143859295594143493026173995214e6
547 + y*(-1.7681590082342707675601529405739e6
548 + 877578.9195280388000758112021231*y))))));
549 case ( 34 ):
550 return -14.422205101855957172476885069882
551 + y*(605.73261427795020124402917293504
552 + y*(-6057.3261427795020124402917293504
553 + y*(24229.304571118008049761166917402
554 + y*(-45429.946070846265093302187970128
555 + (39978.352542344713282105925413713
556 - 13326.117514114904427368641804571*y)*y))))
557 + x*(302.86630713897510062201458646752
558 + y*(-12114.652285559004024880583458701
559 + y*(115089.19671281053823636554285766
560 + y*(-436127.48228012414489570100451323
561 + y*(772309.08320438650658613719549218
562 + y*(-639653.64067751541251369480661941
563 + 199891.76271172356641052962706856*y)))))
564 + x*(-1514.3315356948755031100729323376
565 + y*(51487.272213625767105742479699479
566 + y*(-399783.52542344713282105925413713
567 + y*(1.1630066194136643863885360120353e6
568 + y*(-1.408328328196234217892367827074e6
569 + 599675.2881351706992315888812057*y))))
570 + x*(3533.4402499547095072568368421211
571 + x*(-4542.9946070846265093302187970128
572 + x*(3331.5293785287261068421604511427
573 + x*(-1312.4206642688921026953965413593
574 + 216.33307652783935758715327604823*x
575 + 9085.989214169253018660437594026*y)
576 + y*(-46035.678685124215294546217143063
577 + 90859.89214169253018660437594026*y))
578 + y*(93888.555213082281192824521804932
579 + y*(-369496.89470954962275885779549038
580 + 363439.56856677012074641750376103*y)))
581 + y*(-96917.218284472032199044667669607
582 + y*(569388.65742127318916938742255894
583 + y*(-1.1145480102714283702890136782005e6
584 + 681449.1910626939763995328195519*y))))));
585 case ( 35 ):
586 return -15.49193338482966754071706159913
587 + y*(867.54826955046138228015544955126
588 + y*(-11711.901638931228660782098568942
589 + y*(65066.120216284603671011658716344
590 + y*(-178931.83059478266009528206146995
591 + y*(257661.83605648703053720616851672
592 + y*(-186089.10381857396649909334392874
593 + 53168.31537673541899974095540821*y))))))
594 + x*(108.44353369380767278501943119391
595 + y*(-5205.2896173027682936809326973075
596 + y*(58559.50819465614330391049284471
597 + y*(-260264.48086513841468404663486538
598 + y*(536795.49178434798028584618440984
599 + y*(-515323.67211297406107441233703345
600 + 186089.10381857396649909334392874*y)))))
601 + x*(-325.33060108142301835505829358172
602 + x*(542.21766846903836392509715596954
603 + x*(-542.21766846903836392509715596954
604 + x*(325.33060108142301835505829358172
605 + x*(-108.44353369380767278501943119391
606 + 15.49193338482966754071706159913*x
607 + 867.5482695504613822801554495513*y)
608 + y*(-5205.2896173027682936809326973075
609 + 11711.901638931228660782098568942*y))
610 + y*(13013.224043256920734202331743269
611 + y*(-58559.50819465614330391049284471
612 + 65066.12021628460367101165871634*y)))
613 + y*(-17350.965391009227645603108991025
614 + y*(117119.01638931228660782098568942
615 + y*(-260264.48086513841468404663486538
616 + 178931.83059478266009528206146995*y))))
617 + y*(13013.224043256920734202331743269
618 + y*(-117119.01638931228660782098568942
619 + y*(390396.72129770762202606995229807
620 + y*(-536795.49178434798028584618440984
621 + 257661.83605648703053720616851672*y))))));
622 #endif
623 #if (PMAX2D>=8)
624 case ( 36 ):
625 return 4.2426406871192851464050661726291
626 + x*(-339.41125496954281171240529381033
627 + x*(6533.6666581636991254638019058488
628 + x*(-52269.33326530959300371041524679
629 + x*(212344.16639032022157757356194009
630 + x*(-475650.93271431729633376477874579
631 + x*(594563.66589289662041720597343224
632 + x*(-388286.47568515697659899165611901
633 + 103138.59510386982190910715865661*x)))))));
634 case ( 37 ):
635 return 7.3484692283495342945918522241177
636 - 14.696938456699068589183704448235*y
637 + x*(-573.18059981126367497816447348118
638 + 1131.6642611658282813671452425141*y
639 + x*(10750.810481075368672987879803884
640 - 20369.956700984909064608614365254*y
641 + x*(-83743.155326271292821168747946045
642 + 147116.35395155767657772888152684*y
643 + x*(331011.79639100477229988998343538
644 - 514907.2388304518680220510853439*y
645 + x*(-720870.1343626326152308715194815
646 + 926833.0298948133624396919536191*y
647 + x*(875342.30601176817563748684508467
648 - 823851.5821287229888352817365503*y
649 + x*(-554838.82061730323737886321032978
650 + 142913.02955294174296122234205464*x
651 + 285826.05910588348592244468410928*y)))))));
652 case ( 38 ):
653 return 9.4868329805051379959966806332982
654 + y*(-56.920997883030827975980083799789
655 + 56.92099788303082797598008379979*y)
656 + x*(-702.02564055738021170375436686406
657 + (4155.2328454612504422465461173846
658 - 4098.3118475782196142705660335848*y)*y
659 + x*(12475.185369364256464735635032787
660 + y*(-70695.879370724288346167264079338
661 + 66597.56752314606873189669804575*y)
662 + x*(-91946.385247055797457199828697926
663 + (480982.43211161049639703170810822
664 - 414384.86458846442766513501006246*y)*y
665 + x*(343470.78805918852114505982232856
666 + y*(-1.5798422962435206304733272258631e6
667 + 1.1654574316550562028081922158007e6*y)
668 + x*(-706180.87340284146214600091298145
669 + (2.6572429441735281424026782520255e6
670 - 1.4917855125184719395944860362249e6*y)*y
671 + x*(808913.78774873160150464896755943
672 + y*(-2.1962397823188614666252155533311e6
673 + 704454.2698003895270307295171062*y)
674 + x*(-483449.00868654183227599084507287
675 + 117409.0449667315878384549195177*x
676 + 704454.2698003895270307295171062*y)))))));
677 case ( 39 ):
678 return 11.22497216032182415675124619695
679 + y*(-134.6996659238618898810149543634
680 + (336.74916480965472470253738590849
681 - 224.49944320643648313502492393899*y)*y)
682 + x*(-763.29810690188404265908474139258
683 + y*(9024.8776168987466220280019423475
684 + y*(-22225.44487743721183036746746996
685 + 14592.463808418371403776620056035*y))
686 + x*(12437.26915363658116568038078622
687 + y*(-140222.3522267402273661365674923
688 + (328330.43568941335658497395126078
689 - 204294.49331785719965287268078448*y)*y)
690 + x*(-83917.891870565957395872316568396
691 + y*(866792.35022005126138433123132845
692 + y*(-1.8386504398607147968758541270604e6
693 + 1.0214724665892859982643634039224e6*y))
694 + x*(286741.91383542099808421058410108
695 + y*(-2.5741106158050007156261957778845e6
696 + (4.5966260996517869921896353176509e6
697 - 2.0429449331785719965287268078448e6*y)*y)
698 + x*(-539337.46235914300708358387727104
699 + y*(3.8979389325047153693768107493679e6
700 + y*(-5.148221231610001431252391555769e6
701 + 1.3892025545614289576395342293345e6*y))
702 + x*(565895.74649046444303845732577302
703 + x*(-310527.62984314294347236647479242
704 + 69460.12772807144788197671146672*x
705 + 833521.5327368573745837205376007*y)
706 + y*(-2.8928100253808579470846771599083e6
707 + 2.0838038318421434364593013440017e6*y)))))));
708 case ( 40 ):
709 return 12.727922061357855439215198517887
710 + y*(-254.55844122715710878430397035775
711 + y*(1145.5129855222069895293678666099
712 + y*(-1781.9090885900997614901277925042
713 + 890.9545442950498807450638962521*y)))
714 + x*(-763.67532368147132635291191107324
715 + y*(15018.948032402269418273934251107
716 + y*(-66439.753160288005392703336263372
717 + (101568.81804963568640493728417274
718 - 49893.454480522793321723578190118*y)*y))
719 + x*(10946.012972767755677725070725383
720 + y*(-203901.31142295284413622748025655
721 + y*(851116.14824299979322032032489112
722 + y*(-1.2223896347728084363822276656579e6
723 + 561301.3629058814248693902546388*y)))
724 + x*(-64912.402512925062739997512441225
725 + y*(1.0943467388355484106637227685679e6
726 + y*(-4.0734441765169680547664321336646e6
727 + (5.1140790842535863154766667644871e6
728 - 1.9957381792209117328689431276047e6*y)*y))
729 + x*(195309.96403153629171475722125698
730 + y*(-2.8118525417951774236314216565717e6
731 + y*(8.5798922615613303515749653209078e6
732 + y*(-8.2324199892862608980843904013695e6
733 + 2.12047181542221871617325207308e6*y)))
734 + x*(-325020.21775883419649579930935277
735 + x*(303815.49960461200933406678862197
736 + x*(-149680.36344156837996517073457035
737 + 30292.454506031695945332172472572*x
738 + 605849.0901206339189066434494514*y)
739 + y*(-2.3877581787107336803967712419557e6
740 + 2.7263209055428526350798955225315e6*y))
741 + y*(3.6885518133815065062845645304837e6
742 + y*(-8.018590898655448926705575066269e6
743 + 4.24094363084443743234650414616e6*y)))))));
744 case ( 41 ):
745 return 14.071247279470288663696890340633
746 + y*(-422.137418384108659910906710219
747 + y*(2954.961928688760619376346971533
748 + y*(-7879.8984765033616516702585907547
749 + (8864.885786066281858129040914599
750 - 3545.9543144265127432516163658396*y)*y)))
751 + x*(-703.56236397351443318484451703167
752 + y*(20684.733500821324335634428800731
753 + y*(-141838.17257706050973006465463358
754 + y*(370355.22839565799762850215376547
755 + y*(-407784.74615904896547393588207156
756 + 159567.94414919307344632273646278*y))))
757 + x*(8372.3921312848217548996497526769
758 + y*(-230487.03043772332831135506377958
759 + y*(1.4715710404870027884494207918234e6
760 + y*(-3.5538342129030161049032866244304e6
761 + (3.5902787433568441525422615704126e6
762 - 1.2765435531935445875705818917023e6*y)*y)))
763 + x*(-41369.467001642648671268857601462
764 + y*(1.0105969796115561318267106642643e6
765 + y*(-5.6026078167938901343375538580266e6
766 + y*(1.1386453298547357586663523663641e7
767 + y*(-9.219481217508933132454202551183e6
768 + 2.4112489338100286654110991287709e6*y))))
769 + x*(104901.14846845100198786031748942
770 + x*(-149521.07359165128734044315675957
771 + x*(121645.93273102064549765961699478
772 + x*(-52907.889770808285375500307680782
773 + 9568.448150039796291313885431631*x
774 + 287053.44450119388873941656294892*y)
775 + y*(-1.3001832486230546725255926674745e6
776 + 2.0093741115083572211759159406424e6*y))
777 + y*(2.3491947333075646924041958423687e6
778 + y*(-7.0919086288530254865032327316792e6
779 + 5.358330964022285923135775841713e6*y)))
780 + y*(-2.1364374744419739278090988604184e6
781 + y*(9.352454504299927360326138164902e6
782 + y*(-1.3553425379585782040872844776098e7
783 + 6.028122334525071663527747821927e6*y)))))));
784 case ( 42 ):
785 return 15.297058540778354490084672327068
786 + y*(-642.47645871269088858355623773687
787 + y*(6424.7645871269088858355623773687
788 + y*(-25699.058348507635543342249509475
789 + y*(48185.734403451816643766717830265
790 + y*(-42403.446275037598646514711690633
791 + 14134.482091679199548838237230211*y)))))
792 + x*(-581.2882245495774706232175484286
793 + y*(23771.628972369562877591580796264
794 + y*(-231291.52513656871989008024558527
795 + y*(899467.04219776724401697873283162
796 + y*(-1.638314969717361765888068406229e6
797 + (1.3993137270762407553349854857909e6
798 - 452303.42693373438556282359136676*y)*y))))
799 + x*(5246.8910794869755900990426081844
800 + y*(-196597.79636608341190656820874748
801 + y*(1.7346864385242653991756018418896e6
802 + y*(-6.0392787118992943526854286347266e6
803 + y*(9.6853326150938151453971102838833e6
804 + y*(-7.1237789742063165726144715640264e6
805 + 1.9222895644683711386420002633087e6*y)))))
806 + x*(-20130.929039664314508951428782422
807 + y*(648901.22329981779746939180011424
808 + y*(-4.7543257944739125755183161592528e6
809 + y*(1.2978024465996355949387836002285e7
810 + y*(-1.4648463258649352259705082220401e7
811 + 5.766868693405113415926000789926e6*y))))
812 + x*(41225.572767397665350778191921449
813 + x*(-49042.369681735404495211459480581
814 + x*(34158.331721558065576359073306344
815 + x*(-12971.905642580044607591802133354
816 + 2080.3999615458562106515154364813*x
817 + 87376.79838492596084736364833221*y)
818 + y*(-457443.23860343591267149204126865
819 + 873767.9838492596084736364833221*y))
820 + y*(977206.69370200284153558903759778
821 + y*(-3.7006644021850995182412839293644e6
822 + 3.4950719353970384338945459332886e6*y)))
823 + y*(-1.0825728329308841472632922605866e6
824 + y*(6.0714025348349288971146064466134e6
825 + y*(-1.1307585673343359639070589784169e7
826 + 6.553259878869447063552273624916e6*y)))))));
827 case ( 43 ):
828 return 16.431676725154983403709093484024
829 + y*(-920.17389660867907060770923510535
830 + y*(12422.347604217167453204074673922
831 + y*(-69013.042245650930295578192632901
832 + y*(189785.86617554005831284002974048
833 + y*(-273291.64729277768397048964282629
834 + (197377.3008225616606453536309301
835 - 56393.51452073190304152960883717*y)*y)))))
836 + x*(-394.36024140371960168901824361658
837 + y*(21163.999621999618623977312407423
838 + y*(-273291.64729277768397048964282629
839 + y*(1.4492738871586695362071420452909e6
840 + y*(-3.7957173235108011662568005948096e6
841 + y*(5.1925412985627759954393032136995e6
842 + y*(-3.5527914148061098916163653567417e6
843 + 958689.7468524423517060033502319*y))))))
844 + x*(2300.4347415216976765192730877634
845 + y*(-107660.34590321545126110198050733
846 + y*(1.1801230224006309080543870940226e6
847 + y*(-5.1069651261781688418727862548347e6
848 + y*(1.0248436773479163148893361605986e7
849 + y*(-9.5652076552472189389671374989201e6
850 + 3.3554141139835482309710117258116e6*y)))))
851 + x*(-6441.2172762607534942539646457374
852 + x*(10351.956336847639544336728894935
853 + x*(-10121.912862695469776684801586159
854 + x*(5981.1303279564139589501100281848
855 + x*(-1971.8012070185980084450912180829
856 + 279.33850432763471786305458922841*x
857 + 15642.956242347544200331056996791*y)
858 + y*(-94777.911350693944272594051215851
859 + 211179.90927169184670446926945668*y))
860 + y*(240165.3870148652374286121103625
861 + y*(-1.0683218939626764009755504219573e6
862 + 1.1732217181760658150248292747593e6*y)))
863 + y*(-326661.7332960810700657367784624
864 + y*(2.1739108307380043043107130679364e6
865 + y*(-4.7618999149499141903948952916702e6
866 + 3.2263597249841809913182805055881e6*y))))
867 + y*(253047.82156738674441712003965397
868 + y*(-2.236022568759090141576733441306e6
869 + y*(7.3153824780389986113312884190875e6
870 + y*(-9.8688650411280830322676815465049e6
871 + 4.6459580039772206274983239280469e6*y)))))));
872 case ( 44 ):
873 return 17.492855684535901412622458632637
874 + y*(-1259.4856092865849017088170215498
875 + y*(22040.998162515235779904297877122
876 + y*(-161633.98652511172905263151776556
877 + y*(606127.44946916898394736819162086
878 + y*(-1.2607450948958714866105258385714e6
879 + y*(1.4708692773785167343789468116666e6
880 + y*(-900532.21063990820472180417040814
881 + 225133.05265997705118045104260203*y)))))))
882 + x*(-139.94284547628721130097966906109
883 + y*(8816.3992650060943119617191508489
884 + y*(-132245.98897509141467942578726273
885 + y*(808169.93262555864526315758882782
886 + y*(-2.4245097978766759357894727664835e6
887 + y*(3.7822352846876144598315775157142e6
888 + y*(-2.9417385547570334687578936233333e6
889 + 900532.2106399082047218041704081*y))))))
890 + x*(489.79995916700523955342884171383
891 + x*(-979.59991833401047910685768342766
892 + x*(1224.4998979175130988835721042846
893 + x*(-979.59991833401047910685768342766
894 + x*(489.79995916700523955342884171383
895 + x*(-139.94284547628721130097966906109
896 + 17.492855684535901412622458632637*x
897 + 1259.4856092865849017088170215498*y)
898 + y*(-8816.3992650060943119617191508489
899 + 22040.998162515235779904297877122*y))
900 + y*(26449.197795018282935885157452547
901 + y*(-132245.98897509141467942578726273
902 + 161633.98652511172905263151776556*y)))
903 + y*(-44081.996325030471559808595754245
904 + y*(330614.97243772853669856446815683
905 + y*(-808169.93262555864526315758882782
906 + 606127.4494691689839473681916209*y))))
907 + y*(44081.996325030471559808595754245
908 + y*(-440819.96325030471559808595754245
909 + y*(1.6163398652511172905263151776556e6
910 + y*(-2.4245097978766759357894727664835e6
911 + 1.2607450948958714866105258385714e6*y)))))
912 + y*(-26449.197795018282935885157452547
913 + y*(330614.97243772853669856446815683
914 + y*(-1.6163398652511172905263151776556e6
915 + y*(3.6367646968150139036842091497252e6
916 + y*(-3.7822352846876144598315775157142e6
917 + 1.4708692773785167343789468116666e6*y)))))));
918 #endif
919 }
920
921 printf("Error eval_triangle_2d: There is no shape function %d.\n",i);
922 return 0.0;
923 }
924
925 /* \nabla\phi_i(x,y) for triangle */
926 static void
927 grad_triangle_2d ( const int i, DomainType xi, JacobianRangeType grad )
928 {
929 const RangeField &x = xi[0];
930 const RangeField &y = xi[1];
931
932 switch (i) {
933 #if (PMAX2D>=0)
934 case ( 0 ):
935 grad[0]= 0;
936 grad[1]= 0;
937 return;
938 #endif
939 #if (PMAX2D>=1)
940 case ( 1 ):
941 grad[0]= 6.;
942 grad[1]= 0;
943 return;
944 case ( 2 ):
945 grad[0]= 3.4641016151377545870548926830117;
946 grad[1]= 6.9282032302755091741097853660235;
947 return;
948 #endif
949 #if (PMAX2D>=2)
950 case ( 3 ):
951 grad[0]= -19.595917942265424785578272597647
952 + 48.989794855663561963945681494118*x;
953 grad[1]= 0;
954 return;
955 case ( 4 ):
956 grad[0]= -25.455844122715710878430397035775
957 + 42.426406871192851464050661726291*x
958 + 42.426406871192851464050661726291*y;
959 grad[1]= -8.4852813742385702928101323452582
960 + 42.426406871192851464050661726291*x;
961 return;
962 case ( 5 ):
963 grad[0]= -10.954451150103322269139395656016
964 + 10.954451150103322269139395656016*x
965 + 32.863353450309966807418186968048*y;
966 grad[1]= -32.863353450309966807418186968048
967 + 32.863353450309966807418186968048*x
968 + 65.7267069006199336148363739361*y;
969 return;
970 #endif
971 #if (PMAX2D>=3)
972 case ( 6 ):
973 grad[0]= 42.426406871192851464050661726291
974 + x*(-254.55844122715710878430397035775
975 + 296.98484809834996024835463208404*x);
976 grad[1]= 0;
977 return;
978 case ( 7 ):
979 grad[0]= 63.686733312362630553129385942353
980 - 117.57550765359254871346963558588*y
981 + x*(-323.33264604737950896204149786118
982 + 308.63570759068044037285779341294*x
983 + 411.51427678757392049714372455059*y);
984 grad[1]= 9.7979589711327123927891362988236
985 + x*(-117.57550765359254871346963558588
986 + 205.75713839378696024857186227529*x);
987 return;
988 case ( 8 ):
989 grad[0]= 56.920997883030827975980083799789
990 + y*(-303.57865537616441587189378026554
991 + 265.63132345414386388790705773235*y)
992 + x*(-189.73665961010275991993361266596
993 + 132.81566172707193194395352886617*x
994 + 531.2626469082877277758141154647*y);
995 grad[1]= 37.947331922020551983986722533193
996 - 75.89466384404110396797344506639*y
997 + x*(-303.57865537616441587189378026554
998 + 265.63132345414386388790705773235*x
999 + 531.2626469082877277758141154647*y);
1000 return;
1001 case ( 9 ):
1002 grad[0]= 22.449944320643648313502492393899
1003 + x*(-44.899888641287296627004984787799
1004 + 22.449944320643648313502492393899*x
1005 + 179.59955456514918650801993915119*y)
1006 + y*(-179.59955456514918650801993915119
1007 + 224.49944320643648313502492393899*y);
1008 grad[1]= 89.799777282574593254009969575597
1009 + y*(-448.99888641287296627004984787799
1010 + 448.99888641287296627004984787799*y)
1011 + x*(-179.59955456514918650801993915119
1012 + 89.7997772825745932540099695756*x
1013 + 448.99888641287296627004984787799*y);
1014 return;
1015 #endif
1016 #if (PMAX2D>=4)
1017 case ( 10 ):
1018 grad[0]= -75.894663844041103967973445066385
1019 + x*(796.89397036243159166372117319705
1020 + x*(-2125.0505876331509111032564618588
1021 + 1593.7879407248631833274423463941*x));
1022 grad[1]= 0;
1023 return;
1024 case ( 11 ):
1025 grad[0]= -120.49896265113654496053335221618
1026 + 230.04347415216976765192730877634*y
1027 + x*(1150.2173707608488382596365438817
1028 - 1840.3477932173581412154184702107*y
1029 + x*(-2760.521689826037211823127705316
1030 + 1840.3477932173581412154184702107*x
1031 + 2760.521689826037211823127705316*y));
1032 grad[1]= -10.954451150103322269139395656016
1033 + x*(230.04347415216976765192730877634
1034 + x*(-920.17389660867907060770923510535
1035 + 920.1738966086790706077092351053*x));
1036 return;
1037 case ( 12 ):
1038 grad[0]= -127.27922061357855439215198517887
1039 + (721.24891681027847488886124934695
1040 - 678.8225099390856234248105876207*y)*y
1041 + x*(975.80735803743558367316521970469
1042 + y*(-4412.3463146040565522612688195343
1043 + 3054.7012947258853054116476442929*y)
1044 + x*(-1866.7619023324854644182291159568
1045 + 1018.233764908628435137215881431*x
1046 + 4582.0519420888279581174714664394*y));
1047 grad[1]= -42.426406871192851464050661726291
1048 + 84.85281374238570292810132345258*y
1049 + x*(721.24891681027847488886124934695
1050 - 1357.6450198781712468496211752413*y
1051 + x*(-2206.1731573020282761306344097671
1052 + 1527.3506473629426527058238221465*x
1053 + 3054.7012947258853054116476442929*y));
1054 return;
1055 case ( 13 ):
1056 grad[0]= -100.39920318408906575738064309422
1057 + y*(1104.3912350249797233311870740364
1058 + y*(-2509.9800796022266439345160773556
1059 + 1505.9880477613359863607096464133*y))
1060 + x*(501.99601592044532878690321547111
1061 + x*(-702.79442228862346030166450165956
1062 + 301.19760955226719727214192928267*x
1063 + 2710.778485970404775449277363544*y)
1064 + y*(-3815.1697209953844987804644375805
1065 + 4517.96414328400795908212893924*y));
1066 grad[1]= -100.39920318408906575738064309422
1067 + (501.99601592044532878690321547111
1068 - 501.9960159204453287869032154711*y)*y
1069 + x*(1104.3912350249797233311870740364
1070 + y*(-5019.9601592044532878690321547111
1071 + 4517.96414328400795908212893924*y)
1072 + x*(-1907.5848604976922493902322187902
1073 + 903.592828656801591816425787848*x
1074 + 4517.96414328400795908212893924*y));
1075 return;
1076 case ( 14 ):
1077 grad[0]= -37.947331922020551983986722533193
1078 + y*(569.20997883030827975980083799789
1079 + y*(-1707.6299364909248392794025139937
1080 + 1328.1566172707193194395352886617*y))
1081 + x*(113.84199576606165595196016759958
1082 + x*(-113.84199576606165595196016759958
1083 + 37.947331922020551983986722533193*x
1084 + 569.2099788303082797598008379979*y)
1085 + y*(-1138.4199576606165595196016759958
1086 + 1707.6299364909248392794025139937*y));
1087 grad[1]= -189.73665961010275991993361266596
1088 + y*(1707.6299364909248392794025139937
1089 + y*(-3984.4698518121579583186058659852
1090 + 2656.3132345414386388790705773235*y))
1091 + x*(569.20997883030827975980083799789
1092 + x*(-569.20997883030827975980083799789
1093 + 189.73665961010275991993361266596*x
1094 + 1707.6299364909248392794025139937*y)
1095 + y*(-3415.2598729818496785588050279873
1096 + 3984.4698518121579583186058659852*y));
1097 return;
1098 #endif
1099 #if (PMAX2D>=5)
1100 case ( 15 ):
1101 grad[0]= 121.24355652982141054692124390541
1102 + x*(-1939.8969044771425687507399024866
1103 + x*(8729.5360701471415593783295611896
1104 + x*(-14549.226783578569265630549268649
1105 + 8002.074730968213096096802097757*x)));
1106 grad[1]= 0;
1107 return;
1108 case ( 16 ):
1109 grad[0]= 198.
1110 - 384.*y
1111 + x*(-2976.
1112 + 5184.*y
1113 + x*(12528.
1114 - 17280.*y
1115 + x*(-19440.
1116 + 9900.*x
1117 + 15840.*y)));
1118 grad[1]= 12.
1119 + x*(-384.
1120 + x*(2592.
1121 + x*(-5760.
1122 + 3960.*x)));
1123 return;
1124 case ( 17 ):
1125 grad[0]= 224.63303408003017934039739318738
1126 + y*(-1301.3224043256920734202331743269
1127 + 1254.8466041712030707980819895295*y)
1128 + x*(-2943.4673431176368327362417038346
1129 + (15058.159250054436849576983874354
1130 - 12548.466041712030707980819895295*y)*y
1131 + x*(10735.909835686959605716923688197
1132 + y*(-41828.22013904010235993606631765
1133 + 23005.521076472056297964836474707*y)
1134 + x*(-14407.498047891590812866867287191
1135 + 6390.422521242237860545787909641*x
1136 + 30674.028101962741730619781966277*y)));
1137 grad[1]= 46.475800154489002622151184797389
1138 - 92.95160030897800524430236959478*y
1139 + x*(-1301.3224043256920734202331743269
1140 + 2509.693208342406141596163979059*y
1141 + x*(7529.079625027218424788491937177
1142 - 12548.466041712030707980819895295*y
1143 + x*(-13942.740046346700786645355439217
1144 + 7668.507025490685432654945491569*x
1145 + 15337.014050981370865309890983138*y)));
1146 return;
1147 case ( 18 ):
1148 grad[0]= 210.79848196796864030305017091149
1149 + y*(-2419.5999669366835234784889182884
1150 + (5774.0453756443584083009394640973
1151 - 3666.0605559646720052704377549824*y)*y)
1152 + x*(-2162.9757280191564831095582754396
1153 + y*(21116.508802356510750357721468699
1154 + y*(-41243.181254602560059292424743552
1155 + 20163.333057805696028987407652403*y))
1156 + x*(6213.9726423601190489333919946952
1157 + x*(-6782.2120285346432097503098467175
1158 + 2520.4166322257120036234259565504*x
1159 + 24195.999669366835234784889182884*y)
1160 + y*(-42892.908504786662461664121733294
1161 + 45367.499380062816065221667217907*y)));
1162 grad[1]= 109.98181667894016015811313264947
1163 + y*(-549.90908339470080079056566324736
1164 + 549.9090833947008007905656632474*y)
1165 + x*(-2419.5999669366835234784889182884
1166 + (11548.090751288716816601878928195
1167 - 10998.181667894016015811313264947*y)*y
1168 + x*(10558.254401178255375178860734349
1169 + y*(-41243.181254602560059292424743552
1170 + 30244.999586708544043481111478605*y)
1171 + x*(-14297.636168262220820554707244431
1172 + 6048.999917341708808696222295721*x
1173 + 30244.999586708544043481111478605*y)));
1174 return;
1175 case ( 19 ):
1176 grad[0]= 155.88457268119895641747017073553
1177 + y*(-2909.8453567157138531261098537299
1178 + y*(12158.996669133518600562673317371
1179 + y*(-17459.072140294283118756659122379
1180 + 8002.074730968213096096802097757*y)))
1181 + x*(-1039.2304845413263761164678049035
1182 + x*(2182.3840175367853898445823902974
1183 + x*(-1870.6148721743874770096420488263
1184 + 571.5767664977295068640572926969*x
1185 + 9145.228263963672109824916683151*y)
1186 + y*(-21200.301884643058072775943220032
1187 + 30865.145390877393370659093805635*y))
1188 + y*(14964.918977395099816077136390611
1189 + y*(-43024.142060010911971221767123006
1190 + 32008.298923872852384387208391029*y)));
1191 grad[1]= 207.8460969082652752232935609807
1192 + y*(-1870.6148721743874770096420488263
1193 + (4364.7680350735707796891647805948
1194 - 2909.8453567157138531261098537299*y)*y)
1195 + x*(-2909.8453567157138531261098537299
1196 + y*(24317.993338267037201125346634742
1197 + y*(-52377.216420882849356269977367138
1198 + 32008.298923872852384387208391029*y))
1199 + x*(7482.4594886975499080385681953054
1200 + x*(-7066.767294881019357591981073344
1201 + 2286.3070659909180274562291707878*x
1202 + 20576.76359391826224710606253709*y)
1203 + y*(-43024.142060010911971221767123006
1204 + 48012.448385809278576580812586543*y)));
1205 return;
1206 case ( 20 ):
1207 grad[0]= 57.445626465380286598506114682189
1208 + y*(-1378.6950351691268783641467523725
1209 + y*(7238.1489346379161114117704499559
1210 + y*(-12867.82032824518419806536968881
1211 + 7238.148934637916111411770449956*y)))
1212 + x*(-229.78250586152114639402445872876
1213 + x*(344.67375879228171959103668809314
1214 + x*(-229.78250586152114639402445872876
1215 + 57.44562646538028659850611468219*x
1216 + 1378.6950351691268783641467523725*y)
1217 + y*(-4136.0851055073806350924402571176
1218 + 7238.148934637916111411770449956*y))
1219 + y*(4136.0851055073806350924402571176
1220 + y*(-14476.297869275832222823540899912
1221 + 12867.82032824518419806536968881*y)));
1222 grad[1]= 344.67375879228171959103668809314
1223 + y*(-4825.4326230919440742745136333039
1224 + y*(19301.730492367776297098054533216
1225 + y*(-28952.595738551664445647081799823
1226 + 14476.297869275832222823540899912*y)))
1227 + x*(-1378.6950351691268783641467523725
1228 + x*(2068.0425527536903175462201285588
1229 + x*(-1378.6950351691268783641467523725
1230 + 344.67375879228171959103668809314*x
1231 + 4825.4326230919440742745136333039*y)
1232 + y*(-14476.297869275832222823540899912
1233 + 19301.730492367776297098054533216*y))
1234 + y*(14476.297869275832222823540899912
1235 + y*(-38603.460984735552594196109066431
1236 + 28952.595738551664445647081799823*y)));
1237 return;
1238 #endif
1239 #if (PMAX2D>=6)
1240 case ( 21 ):
1241 grad[0]= -179.59955456514918650801993915119
1242 + x*(4040.9899777158566964304486309019
1243 + x*(-26939.933184772377976202990872679
1244 + x*(74084.816258124039434558224899868
1245 + x*(-88901.779509748847321469869879841
1246 + 38524.104454224500505970276947931*x))));
1247 grad[1]= 0;
1248 return;
1249 case ( 22 ):
1250 grad[0]= -298.11407212676157062443450206005
1251 + 583.2666628567074207869370692479*y
1252 + x*(6415.9332914237816286563077617271
1253 - 11665.333257134148415738741384958*y
1254 + x*(-40828.666399969519455085594847354
1255 + 64159.33291423781628656307761727*y
1256 + x*(106932.22152372969381093846269545
1257 - 128318.66582847563257312615523454*y
1258 + x*(-121902.73253705185094446984747282
1259 + 50044.27967310549670351920054147*x
1260 + 83407.13278850916117253200090245*y))));
1261 grad[1]= -12.961481396815720461931934872176
1262 + x*(583.26666285670742078693706924792
1263 + x*(-5832.6666285670742078693706924792
1264 + x*(21386.44430474593876218769253909
1265 + x*(-32079.666457118908143281538808636
1266 + 16681.426557701832234506400180491*x))));
1267 return;
1268 case ( 23 ):
1269 grad[0]= -351.39721114431173015083225082978
1270 + (2058.1836652738258480263031834316
1271 - 2007.9840636817813151476128618844*y)*y
1272 + x*(6877.3454181101010043805740519542
1273 + y*(-37147.705178112954330230837944862
1274 + 33131.737050749391699935612221093*y)
1275 + x*(-39657.685257715180974165354022218
1276 + (182224.55377912165434964586721601
1277 - 132526.94820299756679974244888437*y)*y
1278 + x*(93873.254977123276483150901293098
1279 + y*(-320273.45815724411976604425147057
1280 + 143570.86055324736403305431962474*y)
1281 + x*(-96634.233064685725791478868978189
1282 + 35892.715138311841008263579906185*x
1283 + 179463.57569155920504131789953092*y))));
1284 grad[1]= -50.199601592044532878690321547111
1285 + 100.39920318408906575738064309422*y
1286 + x*(2058.1836652738258480263031834316
1287 - 4015.9681273635626302952257237689*y
1288 + x*(-18573.852589056477165115418972431
1289 + 33131.737050749391699935612221093*y
1290 + x*(60741.517926373884783215289072005
1291 - 88351.29880199837786649496592292*y
1292 + x*(-80068.364539311029941511062867642
1293 + 35892.715138311841008263579906185*x
1294 + 71785.43027662368201652715981237*y))));
1295 return;
1296 case ( 24 ):
1297 grad[0]= -356.38181771801995229802555850084
1298 + y*(4157.7878733768994434769648491765
1299 + y*(-10097.484835343898648444057490857
1300 + 6533.666658163699125463801905849*y))
1301 + x*(5939.6969619669992049670926416807
1302 + y*(-62960.787796850191572651182001816
1303 + (137206.99982143768163473984002282
1304 - 78403.99989796438950556562287019*y)*y)
1305 + x*(-29104.515113638296104338753944236
1306 + y*(254812.9996683842658930882743281
1307 + y*(-431221.99943880414228061092578602
1308 + 169875.33311225617726205884955207*y))
1309 + x*(58802.999923473292129174217152639
1310 + x*(-52269.33326530959300371041524679
1311 + 16987.533311225617726205884955207*x
1312 + 169875.33311225617726205884955207*y)
1313 + y*(-365885.33285716715102597290672753
1314 + 339750.66622451235452411769910414*y))));
1315 grad[1]= -118.79393923933998409934185283361
1316 + (593.96969619669992049670926416807
1317 - 593.9696961966999204967092641681*y)*y
1318 + x*(4157.7878733768994434769648491765
1319 + y*(-20194.969670687797296888114981714
1320 + 19600.999974491097376391405717546*y)
1321 + x*(-31480.393898425095786325591000908
1322 + (137206.99982143768163473984002282
1323 - 117605.99984694658425834843430528*y)*y
1324 + x*(84937.666556128088631029424776034
1325 + y*(-287481.33295920276152040728385735
1326 + 169875.33311225617726205884955207*y)
1327 + x*(-91471.333214291787756493226681883
1328 + 33975.066622451235452411769910414*x
1329 + 169875.33311225617726205884955207*y))));
1330 return;
1331 case ( 25 ):
1332 grad[0]= -314.29922048901107638903489351459
1333 + y*(6061.4849665737850446456729463528
1334 + y*(-26266.434855153068526797916100862
1335 + (39287.402561126384548629361689324
1336 - 18857.953229340664583342093610875*y)*y))
1337 + x*(4040.9899777158566964304486309019
1338 + y*(-68696.829621169563839317626725332
1339 + y*(256602.86358495690022333348806227
1340 + y*(-320585.20489879129791681559138488
1341 + 122576.69599071431979172360847069*y)))
1342 + x*(-15490.461581244117336316719751791
1343 + x*(25368.437082327322594257816405106
1344 + x*(-18857.953229340664583342093610875
1345 + 5253.286971030613705359583220172*x
1346 + 87554.78285051022842265972033621*y)
1347 + y*(-231683.42538904245059534572150504
1348 + 315197.21826183682232157499321035*y))
1349 + y*(206763.98719312800096735795494781
1350 + y*(-545533.64699164065401811056517175
1351 + 367730.08797214295937517082541207*y))));
1352 grad[1]= -224.49944320643648313502492393899
1353 + y*(2020.4949888579283482152243154509
1354 + y*(-4714.4883073351661458355234027189
1355 + 3142.9922048901107638903489351459*y))
1356 + x*(6061.4849665737850446456729463528
1357 + y*(-52532.869710306137053595832201724
1358 + (117862.20768337915364588808506797
1359 - 75431.8129173626583333683744435*y)*y)
1360 + x*(-34348.414810584781919658813362666
1361 + y*(256602.86358495690022333348806227
1362 + y*(-480877.80734818694687522338707732
1363 + 245153.39198142863958344721694138*y))
1364 + x*(68921.329064376000322452651649271
1365 + x*(-57920.85634726061264883643037626
1366 + 17510.956570102045684531944067241*x
1367 + 157598.60913091841116078749660517*y)
1368 + y*(-363689.09799442710267874037678117
1369 + 367730.08797214295937517082541207*y))));
1370 return;
1371 case ( 26 ):
1372 grad[0]= -223.37412562783541873039835519809
1373 + y*(6328.9335594553368640279533972792
1374 + y*(-41696.50345052927816300769297031
1375 + y*(104241.25862632319540751923242578
1376 + y*(-109453.32155763935517789519404706
1377 + 40654.090864266046208932500646052*y))))
1378 + x*(1861.4510468986284894199862933174
1379 + y*(-43185.664288048180954543682004964
1380 + y*(218906.64311527871035579038809413
1381 + y*(-375268.53105476350346706923673279
1382 + 203270.45432133023104466250323026*y)))
1383 + x*(-5212.0629313161597703759616212888
1384 + x*(6701.2237688350625619119506559427
1385 + x*(-4095.1923031769826767239698452983
1386 + 967.9545443872868144983928725251*x
1387 + 24198.863609682170362459821813126*y)
1388 + y*(-78925.524388501847951407418836659
1389 + 135513.63621422015402977500215351*y))
1390 + y*(91583.391507412521679463325631217
1391 + y*(-312723.77587896958622255769727733
1392 + 271027.27242844030805955000430702*y))));
1393 grad[1]= -372.29020937972569788399725866348
1394 + y*(5212.0629313161597703759616212888
1395 + y*(-20848.251725264639081503846485155
1396 + (31272.377587896958622255769727733
1397 - 15636.188793948479311127884863866*y)*y))
1398 + x*(6328.9335594553368640279533972792
1399 + y*(-83393.00690105855632601538594062
1400 + y*(312723.77587896958622255769727733
1401 + y*(-437813.28623055742071158077618826
1402 + 203270.45432133023104466250323026*y)))
1403 + x*(-21592.832144024090477271841002482
1404 + x*(30527.797169137507226487775210406
1405 + x*(-19731.381097125461987851854709165
1406 + 4839.7727219364340724919643626253*x
1407 + 67756.81810711007701488750107675*y)
1408 + y*(-208482.51725264639081503846485155
1409 + 271027.27242844030805955000430702*y))
1410 + y*(218906.64311527871035579038809413
1411 + y*(-562902.79658214525520060385509919
1412 + 406540.90864266046208932500646052*y))));
1413 return;
1414 case ( 27 ):
1415 grad[0]= -80.944425379392248793301833668973
1416 + y*(2833.0548882787287077655641784141
1417 + y*(-22664.439106229829662124513427313
1418 + y*(67993.317318689488986373540281938
1419 + y*(-84991.646648361861232966925352422
1420 + 37396.324525279218942505447155066*y))))
1421 + x*(404.72212689696124396650916834487
1422 + x*(-809.44425379392248793301833668973
1423 + x*(809.44425379392248793301833668973
1424 + x*(-404.72212689696124396650916834487
1425 + 80.94442537939224879330183366897*x
1426 + 2833.0548882787287077655641784141*y)
1427 + y*(-11332.219553114914831062256713656
1428 + 22664.439106229829662124513427313*y))
1429 + y*(16998.329329672372246593385070484
1430 + y*(-67993.317318689488986373540281938
1431 + 67993.31731868948898637354028194*y)))
1432 + y*(-11332.219553114914831062256713656
1433 + y*(67993.317318689488986373540281938
1434 + y*(-135986.63463737897797274708056388
1435 + 84991.64664836186123296692535242*y))));
1436 grad[1]= -566.61097765574574155311283568281
1437 + y*(11332.219553114914831062256713656
1438 + y*(-67993.317318689488986373540281938
1439 + y*(169983.29329672372246593385070484
1440 + y*(-186981.62262639609471252723577533
1441 + 74792.64905055843788501089431013*y))))
1442 + x*(2833.0548882787287077655641784141
1443 + x*(-5666.1097765574574155311283568281
1444 + x*(5666.1097765574574155311283568281
1445 + x*(-2833.0548882787287077655641784141
1446 + 566.6109776557457415531128356828*x
1447 + 11332.219553114914831062256713656*y)
1448 + y*(-45328.878212459659324249026854625
1449 + 67993.31731868948898637354028194*y))
1450 + y*(67993.317318689488986373540281938
1451 + y*(-203979.95195606846695912062084581
1452 + 169983.29329672372246593385070484*y)))
1453 + y*(-45328.878212459659324249026854625
1454 + y*(203979.95195606846695912062084581
1455 + y*(-339966.58659344744493186770140969
1456 + 186981.62262639609471252723577533*y))));
1457 return;
1458 #endif
1459 #if (PMAX2D>=7)
1460 case ( 28 ):
1461 grad[0]= 252.
1462 + x*(-7560.
1463 + x*(69300.
1464 + x*(-277200.
1465 + x*(540540.
1466 + x*(-504504.
1467 + 180180.*x)))));
1468 grad[1]= 0;
1469 return;
1470 case ( 29 ):
1471 grad[0]= 422.62039704680605962069690732743
1472 - 831.3843876330611008931742439228*y
1473 + x*(-12262.919717587651238174320097862
1474 + 22863.070659909180274562291707878*y
1475 + x*(108599.58563456860630417088561242
1476 - 182904.56527927344219649833366302*y
1477 + x*(-419156.29543166830503364201464442
1478 + 594439.8371576386871386195844048*y
1479 + x*(787632.78423387126045867094933638
1480 - 832215.7720206941619940674181667*y
1481 + x*(-707383.40621759003769495730544173
1482 + 242729.60017270246391493633029863*x
1483 + 416107.88601034708099703370908337*y)))));
1484 grad[1]= 13.856406460551018348219570732047
1485 + x*(-831.38438763306110089317424392282
1486 + x*(11431.535329954590137281145853939
1487 + x*(-60968.188426424480732166111221007
1488 + x*(148609.9592894096717846548961012
1489 + x*(-166443.15440413883239881348363335
1490 + 69351.3143350578468328389515139*x)))));
1491 return;
1492 case ( 30 ):
1493 grad[0]= 509.82349886995205078129159647073
1494 + y*(-3005.2753617597173519739294107748
1495 + 2951.6097302997223992601092427253*y)
1496 + x*(-13792.067285218702847451783188735
1497 + (76741.852987792782380762840310857
1498 - 70838.63352719333758224262182541*y)*y
1499 + x*(113636.97461653931237151420584492
1500 + y*(-566709.06821754670065794097460325
1501 + 460451.11792675669428457704186514*y)
1502 + x*(-407322.14278136169109789507549609
1503 + (1.6883207657314412123767824868389e6
1504 - 1.074385941829098953330679764352e6*y)*y
1505 + x*(709862.14013708323702205627287543
1506 + y*(-2.148771883658197906661359528704e6
1507 + 805789.456371824214998009823264*y)
1508 + x*(-590912.2680060044243318738703936
1509 + 188017.5398200923168328689587616*x
1510 + 966947.3476461890579976117879168*y)))));
1511 grad[1]= 53.665631459994952713820168049551
1512 - 107.3312629199899054276403360991*y
1513 + x*(-3005.2753617597173519739294107748
1514 + 5903.219460599444798520218485451*y
1515 + x*(38370.926493896391190381420155429
1516 - 70838.63352719333758224262182541*y
1517 + x*(-188903.02273918223355264699153442
1518 + 306967.41195117112952305136124343*y
1519 + x*(422080.19143286030309419562170972
1520 - 537192.970914549476665339882176*y
1521 + x*(-429754.3767316395813322719057408
1522 + 161157.8912743648429996019646528*x
1523 + 322315.7825487296859992039293056*y)))));
1524 return;
1525 case ( 31 ):
1526 grad[0]= 539.73326745717648046232961374241
1527 + y*(-6349.8031465550174172038778087342
1528 + (15557.017709059792672149500631399
1529 - 10159.685034488027867526204493975*y)*y)
1530 + x*(-13017.096450437785705267949507905
1531 + y*(143505.55111214339362880763847739
1532 + y*(-327649.84236223889872772009493069
1533 + 198113.85817251654341676098763251*y))
1534 + x*(95405.792276989136693488264076232
1535 + y*(-929611.18065565454987864771119869
1536 + (1.8325531880957780266050391356007e6
1537 - 924531.3381384105359448846089517*y)*y)
1538 + x*(-304155.57071998533428406574703837
1539 + y*(2.4103852744322846115705920161955e6
1540 + y*(-3.5825589352863408267864278596878e6
1541 + 1.1556641726730131699311057611896e6*y))
1542 + x*(472584.09918235717127539860591504
1543 + x*(-352477.57266526901682898725716284
1544 + 101120.61510888865236897175410409*x
1545 + 1.0400977554057118529379951850707e6*y)
1546 + y*(-2.6580275971479302908415432507361e6
1547 + 2.1668703237618996936208233022306e6*y)))));
1548 grad[1]= 126.99606293110034834407755617468
1549 + y*(-634.98031465550174172038778087342
1550 + 634.9803146555017417203877808734*y)
1551 + x*(-6349.8031465550174172038778087342
1552 + (31114.035418119585344299001262798
1553 - 30479.055103464083602578613481924*y)*y
1554 + x*(71752.775556071696814403819238697
1555 + y*(-327649.84236223889872772009493069
1556 + 297170.78725877481512514148144876*y)
1557 + x*(-309870.39355188484995954923706623
1558 + (1.2217021253971853510700260904005e6
1559 - 924531.3381384105359448846089517*y)*y
1560 + x*(602596.31860807115289264800404888
1561 + y*(-1.7912794676431704133932139298439e6
1562 + 866748.1295047598774483293208922*y)
1563 + x*(-531605.51942958605816830865014723
1564 + 173349.62590095197548966586417844*x
1565 + 866748.1295047598774483293208922*y)))));
1566 return;
1567 case ( 32 ):
1568 grad[0]= 516.
1569 + y*(-10080.
1570 + y*(44280.
1571 + y*(-67200.
1572 + 32760.*y)))
1573 + x*(-10440.
1574 + y*(188640.
1575 + y*(-760320.
1576 + (1.04832e6
1577 - 458640.*y)*y))
1578 + x*(64260.
1579 + y*(-1.00224e6
1580 + y*(3.3696e6
1581 + y*(-3.66912e6
1582 + 1.1466e6*y)))
1583 + x*(-173520.
1584 + x*(231660.
1585 + x*(-150696.
1586 + 38220.*x
1587 + 655200.*y)
1588 + y*(-1.9656e6
1589 + 2.457e6*y))
1590 + y*(2.13408e6
1591 + y*(-5.11056e6
1592 + 3.0576e6*y)))));
1593 grad[1]= 240.
1594 + y*(-2160.
1595 + (5040.
1596 - 3360.*y)*y)
1597 + x*(-10080.
1598 + y*(88560.
1599 + y*(-201600.
1600 + 131040.*y))
1601 + x*(94320.
1602 + y*(-760320.
1603 + (1.57248e6
1604 - 917280.*y)*y)
1605 + x*(-334080.
1606 + y*(2.2464e6
1607 + y*(-3.66912e6
1608 + 1.5288e6*y))
1609 + x*(533520.
1610 + x*(-393120.
1611 + 109200.*x
1612 + 982800.*y)
1613 + y*(-2.55528e6
1614 + 2.2932e6*y)))));
1615 return;
1616 case ( 33 ):
1617 grad[0]= 437.79447232691278008317112124053
1618 + y*(-12735.839194964735420601341708815
1619 + y*(86364.909540854612070952848462905
1620 + y*(-222877.18591188286986052347990427
1621 + (242378.93967917262097331928439589
1622 - 93608.41808299080534141986155979*y)*y)))
1623 + x*(-6765.9145723250156921944627828082
1624 + y*(177505.75877982099992463120006662
1625 + y*(-1.0698104923770377753305127035405e6
1626 + y*(2.4070736078483349944936535829661e6
1627 + y*(-2.2231999294710316268587217120451e6
1628 + 702063.1356224310400606489616985*y))))
1629 + x*(32436.590449675810524344042164639
1630 + y*(-706839.07532054281584337446483926
1631 + y*(3.3431577886782430479078521985641e6
1632 + y*(-5.3044770247028123026804588217216e6
1633 + 2.6327367585841164002274336063692e6*y)))
1634 + x*(-70843.105521991340777094963255286
1635 + x*(79002.002506265624405917697787496
1636 + x*(-44018.244217596866797453387281093
1637 + 9750.876883644875556397902245812*x
1638 + 250736.8341508682285930889148923*y)
1639 + y*(-891508.74364753147944209391961708
1640 + 1.4626315325467313334596853368718e6*y))
1641 + y*(1.1828410652323498021883496112062e6
1642 + y*(-3.8223437383887912181079776803582e6
1643 + 3.1202806027663601780473287186598e6*y)))));
1644 grad[1]= 397.99497484264798189379192840048
1645 + y*(-5571.9296477970717465130869976068
1646 + y*(22287.718591188286986052347990427
1647 + y*(-33431.577886782430479078521985641
1648 + 16715.78894339121523953926099282*y)))
1649 + x*(-12735.839194964735420601341708815
1650 + y*(172729.81908170922414190569692581
1651 + y*(-668631.55773564860958157043971281
1652 + (969515.75871669048389327713758358
1653 - 468042.09041495402670709930779897*y)*y))
1654 + x*(88752.879389910499962315600033308
1655 + y*(-1.0698104923770377753305127035405e6
1656 + y*(3.6106104117725024917404803744492e6
1657 + y*(-4.4463998589420632537174434240902e6
1658 + 1.7551578390560776001516224042461e6*y)))
1659 + x*(-235613.02510684760528112482161309
1660 + x*(295710.26630808745054708740280156
1661 + x*(-178301.74872950629588841878392342
1662 + 41789.472358478038098848152482051*x
1663 + 585052.6130186925333838741347487*y)
1664 + y*(-1.9111718691943956090539888401791e6
1665 + 2.3402104520747701335354965389948e6*y))
1666 + y*(2.2287718591188286986052347990427e6
1667 + y*(-5.3044770247028123026804588217216e6
1668 + 3.5103156781121552003032448084923e6*y)))));
1669 return;
1670 case ( 34 ):
1671 grad[0]= 302.86630713897510062201458646752
1672 + y*(-12114.652285559004024880583458701
1673 + y*(115089.19671281053823636554285766
1674 + y*(-436127.48228012414489570100451323
1675 + y*(772309.08320438650658613719549218
1676 + y*(-639653.64067751541251369480661941
1677 + 199891.76271172356641052962706856*y)))))
1678 + x*(-3028.6630713897510062201458646752
1679 + y*(102974.54442725153421148495939896
1680 + y*(-799567.05084689426564211850827426
1681 + y*(2.3260132388273287727770720240706e6
1682 + y*(-2.816656656392468435784735654148e6
1683 + 1.1993505762703413984631777624114e6*y))))
1684 + x*(10600.320749864128521770510526363
1685 + x*(-18171.978428338506037320875188051
1686 + x*(16657.646892643630534210802255714
1687 + x*(-7874.5239856133526161723792481556
1688 + 1514.3315356948755031100729323376*x
1689 + 54515.93528501551811196262556415*y)
1690 + y*(-230178.39342562107647273108571532
1691 + 454299.46070846265093302187970128*y))
1692 + y*(375554.22085232912477129808721973
1693 + y*(-1.4779875788381984910354311819615e6
1694 + 1.4537582742670804829856700150441e6*y)))
1695 + y*(-290751.65485341609659713400300882
1696 + y*(1.7081659722638195675081622676768e6
1697 + y*(-3.3436440308142851108670410346014e6
1698 + 2.0443475731880819291985984586558e6*y)))));
1699 grad[1]= 605.73261427795020124402917293504
1700 + y*(-12114.652285559004024880583458701
1701 + y*(72687.913713354024149283500752205
1702 + y*(-181719.78428338506037320875188051
1703 + (199891.76271172356641052962706856
1704 - 79956.70508468942656421185082743*y)*y)))
1705 + x*(-12114.652285559004024880583458701
1706 + y*(230178.39342562107647273108571532
1707 + y*(-1.3083824468403724346871030135397e6
1708 + y*(3.0892363328175460263445487819687e6
1709 + y*(-3.198268203387577062568474033097e6
1710 + 1.1993505762703413984631777624114e6*y))))
1711 + x*(51487.272213625767105742479699479
1712 + x*(-96917.218284472032199044667669607
1713 + x*(93888.555213082281192824521804932
1714 + x*(-46035.678685124215294546217143063
1715 + 9085.989214169253018660437594026*x
1716 + 181719.78428338506037320875188051*y)
1717 + y*(-738993.78941909924551771559098075
1718 + 1.0903187057003103622392525112831e6*y))
1719 + y*(1.1387773148425463783387748451179e6
1720 + y*(-3.3436440308142851108670410346014e6
1721 + 2.7257967642507759055981312782077e6*y)))
1722 + y*(-799567.05084689426564211850827426
1723 + y*(3.4890198582409931591656080361058e6
1724 + y*(-5.6333133127849368715694713082959e6
1725 + 2.9983764406758534961579444060285e6*y)))));
1726 return;
1727 case ( 35 ):
1728 grad[0]= 108.44353369380767278501943119391
1729 + y*(-5205.2896173027682936809326973075
1730 + y*(58559.50819465614330391049284471
1731 + y*(-260264.48086513841468404663486538
1732 + y*(536795.49178434798028584618440984
1733 + y*(-515323.67211297406107441233703345
1734 + 186089.10381857396649909334392874*y)))))
1735 + x*(-650.66120216284603671011658716344
1736 + y*(26026.448086513841468404663486538
1737 + y*(-234238.03277862457321564197137884
1738 + y*(780793.44259541524405213990459613
1739 + y*(-1.0735909835686959605716923688197e6
1740 + 515323.6721129740610744123370334*y))))
1741 + x*(1626.6530054071150917752914679086
1742 + x*(-2168.8706738761534557003886238781
1743 + x*(1626.6530054071150917752914679086
1744 + x*(-650.66120216284603671011658716344
1745 + 108.44353369380767278501943119391*x
1746 + 5205.289617302768293680932697308*y)
1747 + y*(-26026.448086513841468404663486538
1748 + 58559.50819465614330391049284471*y))
1749 + y*(52052.896173027682936809326973075
1750 + y*(-234238.03277862457321564197137884
1751 + 260264.48086513841468404663486538*y)))
1752 + y*(-52052.896173027682936809326973075
1753 + y*(351357.04916793685982346295706826
1754 + y*(-780793.44259541524405213990459613
1755 + 536795.4917843479802858461844098*y)))));
1756 grad[1]= 867.54826955046138228015544955126
1757 + y*(-23423.803277862457321564197137884
1758 + y*(195198.36064885381101303497614903
1759 + y*(-715727.32237913064038112824587979
1760 + y*(1.2883091802824351526860308425836e6
1761 + y*(-1.1165346229114437989945600635725e6
1762 + 372178.20763714793299818668785749*y)))))
1763 + x*(-5205.2896173027682936809326973075
1764 + y*(117119.01638931228660782098568942
1765 + y*(-780793.44259541524405213990459613
1766 + y*(2.1471819671373919211433847376394e6
1767 + y*(-2.5766183605648703053720616851672e6
1768 + 1.1165346229114437989945600635725e6*y))))
1769 + x*(13013.224043256920734202331743269
1770 + x*(-17350.965391009227645603108991025
1771 + x*(13013.224043256920734202331743269
1772 + x*(-5205.2896173027682936809326973075
1773 + 867.5482695504613822801554495513*x
1774 + 23423.803277862457321564197137884*y)
1775 + y*(-117119.01638931228660782098568942
1776 + 195198.36064885381101303497614903*y))
1777 + y*(234238.03277862457321564197137884
1778 + y*(-780793.44259541524405213990459613
1779 + 715727.3223791306403811282458798*y)))
1780 + y*(-234238.03277862457321564197137884
1781 + y*(1.1711901638931228660782098568942e6
1782 + y*(-2.1471819671373919211433847376394e6
1783 + 1.2883091802824351526860308425836e6*y)))));
1784 return;
1785 #endif
1786 #if (PMAX2D>=8)
1787 case ( 36 ):
1788 grad[0]= -339.41125496954281171240529381033
1789 + x*(13067.333316327398250927603811698
1790 + x*(-156807.99979592877901113124574037
1791 + x*(849376.66556128088631029424776034
1792 + x*(-2.378254663571586481668823893729e6
1793 + x*(3.5673819953573797225032358405934e6
1794 + x*(-2.7180053297960988361929415928331e6
1795 + 825108.7608309585752728572692529*x))))));
1796 grad[1]= 0;
1797 return;
1798 case ( 37 ):
1799 grad[0]= -573.18059981126367497816447348118
1800 + 1131.6642611658282813671452425141*y
1801 + x*(21501.620962150737345975759607768
1802 - 40739.913401969818129217228730508*y
1803 + x*(-251229.46597881387846350624383814
1804 + 441349.06185467302973318664458051*y
1805 + x*(1.3240471855640190891995599337415e6
1806 - 2.0596289553218074720882043413757e6*y
1807 + x*(-3.6043506718131630761543575974075e6
1808 + 4.6341651494740668121984597680953e6*y
1809 + x*(5.252053836070609053824921070508e6
1810 - 4.9431094927723379330116904193017e6*y
1811 + x*(-3.8838717443211226616520424723085e6
1812 + 1.1433042364235339436897787364371e6*x
1813 + 2.000782413741184401457112788765e6*y))))));
1814 grad[1]= -14.696938456699068589183704448235
1815 + x*(1131.6642611658282813671452425141
1816 + x*(-20369.956700984909064608614365254
1817 + x*(147116.35395155767657772888152684
1818 + x*(-514907.23883045186802205108534393
1819 + x*(926833.02989481336243969195361907
1820 + x*(-823851.58212872298883528173655028
1821 + 285826.05910588348592244468410928*x))))));
1822 return;
1823 case ( 38 ):
1824 grad[0]= -702.02564055738021170375436686406
1825 + (4155.2328454612504422465461173846
1826 - 4098.3118475782196142705660335848*y)*y
1827 + x*(24950.370738728512929471270065574
1828 + y*(-141391.75874144857669233452815868
1829 + 133195.13504629213746379339609151*y)
1830 + x*(-275839.15574116739237159948609378
1831 + (1.4429472963348314891910951243246e6
1832 - 1.2431545937653932829954050301874e6*y)*y
1833 + x*(1.3738831522367540845802392893142e6
1834 + y*(-6.3193691849740825218933089034526e6
1835 + 4.6618297266202248112327688632027e6*y)
1836 + x*(-3.5309043670142073107300045649072e6
1837 + (1.3286214720867640712013391260128e7
1838 - 7.458927562592359697972430181124e6*y)*y
1839 + x*(4.8534827264923896090278938053566e6
1840 + y*(-1.3177438693913168799751293319986e7
1841 + 4.2267256188023371621843771026371e6*y)
1842 + x*(-3.3841430608057928259319359155101e6
1843 + 939272.3597338527027076393561416*x
1844 + 4.9311798886027266892151066197433e6*y))))));
1845 grad[1]= -56.920997883030827975980083799789
1846 + 113.84199576606165595196016759958*y
1847 + x*(4155.2328454612504422465461173846
1848 - 8196.62369515643922854113206717*y
1849 + x*(-70695.879370724288346167264079338
1850 + 133195.13504629213746379339609151*y
1851 + x*(480982.43211161049639703170810822
1852 - 828769.7291769288553302700201249*y
1853 + x*(-1.5798422962435206304733272258631e6
1854 + 2.3309148633101124056163844316014e6*y
1855 + x*(2.6572429441735281424026782520255e6
1856 - 2.9835710250369438791889720724497e6*y
1857 + x*(-2.1962397823188614666252155533311e6
1858 + 704454.2698003895270307295171062*x
1859 + 1.4089085396007790540614590342124e6*y))))));
1860 return;
1861 case ( 39 ):
1862 grad[0]= -763.29810690188404265908474139258
1863 + y*(9024.8776168987466220280019423475
1864 + y*(-22225.44487743721183036746746996
1865 + 14592.463808418371403776620056035*y))
1866 + x*(24874.53830727316233136076157244
1867 + y*(-280444.70445348045473227313498459
1868 + (656660.87137882671316994790252155
1869 - 408588.98663571439930574536156897*y)*y)
1870 + x*(-251753.67561169787218761694970519
1871 + y*(2.6003770506601537841529936939854e6
1872 + y*(-5.5159513195821443906275623811811e6
1873 + 3.0644173997678579947930902117673e6*y))
1874 + x*(1.1469676553416839923368423364043e6
1875 + y*(-1.0296442463220002862504783111538e7
1876 + (1.8386504398607147968758541270604e7
1877 - 8.171779732714287986114907231379e6*y)*y)
1878 + x*(-2.6966873117957150354179193863552e6
1879 + y*(1.948969466252357684688405374684e7
1880 + y*(-2.5741106158050007156261957778845e7
1881 + 6.946012772807144788197671146672e6*y))
1882 + x*(3.3953744789427866582307439546381e6
1883 + x*(-2.1736934089020006043065653235469e6
1884 + 555681.0218245715830558136917338*x
1885 + 5.834650729158001622086043763205e6*y)
1886 + y*(-1.735686015228514768250806295945e7
1887 + 1.250282299105286061875580806401e7*y))))));
1888 grad[1]= -134.6996659238618898810149543634
1889 + (673.49832961930944940507477181698
1890 - 673.498329619309449405074771817*y)*y
1891 + x*(9024.8776168987466220280019423475
1892 + y*(-44450.889754874423660734934939921
1893 + 43777.391425255114211329860168104*y)
1894 + x*(-140222.3522267402273661365674923
1895 + (656660.87137882671316994790252155
1896 - 612883.4799535715989586180423535*y)*y
1897 + x*(866792.35022005126138433123132845
1898 + y*(-3.6773008797214295937517082541207e6
1899 + 3.0644173997678579947930902117673e6*y)
1900 + x*(-2.5741106158050007156261957778845e6
1901 + (9.1932521993035739843792706353018e6
1902 - 6.128834799535715989586180423535e6*y)*y
1903 + x*(3.8979389325047153693768107493679e6
1904 + y*(-1.0296442463220002862504783111538e7
1905 + 4.1676076636842868729186026880035e6*y)
1906 + x*(-2.8928100253808579470846771599083e6
1907 + 833521.5327368573745837205376007*x
1908 + 4.1676076636842868729186026880035e6*y))))));
1909 return;
1910 case ( 40 ):
1911 grad[0]= -763.67532368147132635291191107324
1912 + y*(15018.948032402269418273934251107
1913 + y*(-66439.753160288005392703336263372
1914 + (101568.81804963568640493728417274
1915 - 49893.454480522793321723578190118*y)*y))
1916 + x*(21892.025945535511355450141450766
1917 + y*(-407802.62284590568827245496051311
1918 + y*(1.7022322964859995864406406497822e6
1919 + y*(-2.4447792695456168727644553313158e6
1920 + 1.1226027258117628497387805092777e6*y)))
1921 + x*(-194737.20753877518821999253732368
1922 + y*(3.2830402165066452319911683057038e6
1923 + y*(-1.2220332529550904164299296400994e7
1924 + (1.5342237252760758946430000293461e7
1925 - 5.987214537662735198606829382814e6*y)*y))
1926 + x*(781239.85612614516685902888502792
1927 + y*(-1.1247410167180709694525686626287e7
1928 + y*(3.4319569046245321406299861283631e7
1929 + y*(-3.2929679957145043592337561605478e7
1930 + 8.48188726168887486469300829232e6*y)))
1931 + x*(-1.6251010887941709824789965467638e6
1932 + x*(1.8228929976276720560044007317318e6
1933 + x*(-1.0477625440909786597561951419925e6
1934 + 242339.63604825356756265737978057*x
1935 + 4.24094363084443743234650414616e6*y)
1936 + y*(-1.4326549072264402082380627451734e7
1937 + 1.6357925433257115810479373135189e7*y))
1938 + y*(1.8442759066907532531422822652419e7
1939 + y*(-4.0092954493277244633527875331345e7
1940 + 2.12047181542221871617325207308e7*y))))));
1941 grad[1]= -254.55844122715710878430397035775
1942 + y*(2291.0259710444139790587357332197
1943 + y*(-5345.7272657702992844703833775127
1944 + 3563.8181771801995229802555850084*y))
1945 + x*(15018.948032402269418273934251107
1946 + y*(-132879.50632057601078540667252674
1947 + (304706.45414890705921481185251822
1948 - 199573.81792209117328689431276047*y)*y)
1949 + x*(-203901.31142295284413622748025655
1950 + y*(1.7022322964859995864406406497822e6
1951 + y*(-3.6671689043184253091466829969737e6
1952 + 2.2452054516235256994775610185553e6*y))
1953 + x*(1.0943467388355484106637227685679e6
1954 + y*(-8.1468883530339361095328642673293e6
1955 + (1.5342237252760758946430000293461e7
1956 - 7.982952716883646931475772510419e6*y)*y)
1957 + x*(-2.8118525417951774236314216565717e6
1958 + y*(1.7159784523122660703149930641816e7
1959 + y*(-2.4697259967858782694253171204108e7
1960 + 8.48188726168887486469300829232e6*y))
1961 + x*(3.6885518133815065062845645304837e6
1962 + x*(-2.3877581787107336803967712419557e6
1963 + 605849.0901206339189066434494514*x
1964 + 5.452641811085705270159791045063e6*y)
1965 + y*(-1.6037181797310897853411150132538e7
1966 + 1.272283089253331229703951243848e7*y))))));
1967 return;
1968 case ( 41 ):
1969 grad[0]= -703.56236397351443318484451703167
1970 + y*(20684.733500821324335634428800731
1971 + y*(-141838.17257706050973006465463358
1972 + y*(370355.22839565799762850215376547
1973 + y*(-407784.74615904896547393588207156
1974 + 159567.94414919307344632273646278*y))))
1975 + x*(16744.784262569643509799299505354
1976 + y*(-460974.06087544665662271012755915
1977 + y*(2.9431420809740055768988415836469e6
1978 + y*(-7.1076684258060322098065732488607e6
1979 + (7.1805574867136883050845231408252e6
1980 - 2.5530871063870891751411637834045e6*y)*y)))
1981 + x*(-124108.40100492794601380657280439
1982 + y*(3.0317909388346683954801319927929e6
1983 + y*(-1.680782345038167040301266157408e7
1984 + y*(3.4159359895642072759990570990922e7
1985 + y*(-2.7658443652526799397362607653549e7
1986 + 7.233746801430085996233297386313e6*y))))
1987 + x*(419604.59387380400795144126995769
1988 + y*(-8.5457498977678957112363954416735e6
1989 + y*(3.7409818017199709441304552659608e7
1990 + y*(-5.4213701518343128163491379104392e7
1991 + 2.4112489338100286654110991287709e7*y)))
1992 + x*(-747605.36795825643670221578379785
1993 + x*(729875.59638612387298595770196865
1994 + x*(-370355.22839565799762850215376547
1995 + 76547.58520031837033051108345305*x
1996 + 2.0093741115083572211759159406424e6*y)
1997 + y*(-7.8010994917383280351535560048472e6
1998 + 1.2056244669050143327055495643855e7*y))
1999 + y*(1.1745973666537823462020979211844e7
2000 + y*(-3.5459543144265127432516163658396e7
2001 + 2.6791654820111429615678879208566e7*y))))));
2002 grad[1]= -422.137418384108659910906710219
2003 + y*(5909.923857377521238752693943066
2004 + y*(-23639.695429510084955010775772264
2005 + (35459.543144265127432516163658396
2006 - 17729.771572132563716258081829198*y)*y))
2007 + x*(20684.733500821324335634428800731
2008 + y*(-283676.34515412101946012930926717
2009 + y*(1.1110656851869739928855064612964e6
2010 + y*(-1.6311389846361958618957435282862e6
2011 + 797839.7207459653672316136823139*y)))
2012 + x*(-230487.03043772332831135506377958
2013 + y*(2.9431420809740055768988415836469e6
2014 + y*(-1.0661502638709048314709859873291e7
2015 + (1.436111497342737661016904628165e7
2016 - 6.382717765967722937852909458511e6*y)*y))
2017 + x*(1.0105969796115561318267106642643e6
2018 + y*(-1.1205215633587780268675107716053e7
2019 + y*(3.4159359895642072759990570990922e7
2020 + y*(-3.6877924870035732529816810204732e7
2021 + 1.2056244669050143327055495643855e7*y)))
2022 + x*(-2.1364374744419739278090988604184e6
2023 + x*(2.3491947333075646924041958423687e6
2024 + x*(-1.3001832486230546725255926674745e6
2025 + 287053.44450119388873941656294892*x
2026 + 4.0187482230167144423518318812849e6*y)
2027 + y*(-1.4183817257706050973006465463358e7
2028 + 1.607499289206685776940732752514e7*y))
2029 + y*(1.8704909008599854720652276329804e7
2030 + y*(-4.0660276138757346122618534328294e7
2031 + 2.4112489338100286654110991287709e7*y))))));
2032 return;
2033 case ( 42 ):
2034 grad[0]= -581.2882245495774706232175484286
2035 + y*(23771.628972369562877591580796264
2036 + y*(-231291.52513656871989008024558527
2037 + y*(899467.04219776724401697873283162
2038 + y*(-1.638314969717361765888068406229e6
2039 + (1.3993137270762407553349854857909e6
2040 - 452303.42693373438556282359136676*y)*y))))
2041 + x*(10493.782158973951180198085216369
2042 + y*(-393195.59273216682381313641749496
2043 + y*(3.4693728770485307983512036837791e6
2044 + y*(-1.2078557423798588705370857269453e7
2045 + y*(1.9370665230187630290794220567767e7
2046 + y*(-1.4247557948412633145228943128053e7
2047 + 3.8445791289367422772840005266174e6*y)))))
2048 + x*(-60392.787118992943526854286347266
2049 + y*(1.9467036698994533924081754003427e6
2050 + y*(-1.4262977383421737726554948477759e7
2051 + y*(3.8934073397989067848163508006854e7
2052 + y*(-4.3945389775948056779115246661202e7
2053 + 1.7300606080215340247778002369778e7*y))))
2054 + x*(164902.2910695906614031127676858
2055 + x*(-245211.84840867702247605729740291
2056 + x*(204949.99032934839345815443983806
2057 + x*(-90803.339498060312253142614933478
2058 + 16643.19969236684968521212349185*x
2059 + 611637.5886944817259315455383255*y)
2060 + y*(-2.7446594316206154760289522476119e6
2061 + 5.242607903095557650841818899933e6*y))
2062 + y*(4.8860334685100142076779451879889e6
2063 + y*(-1.8503322010925497591206419646822e7
2064 + 1.7475359676985192169472729666443e7*y)))
2065 + y*(-4.3302913317235365890531690423465e6
2066 + y*(2.4285610139339715588458425786454e7
2067 + y*(-4.5230342693373438556282359136676e7
2068 + 2.6213039515477788254209094499664e7*y))))));
2069 grad[1]= -642.47645871269088858355623773687
2070 + y*(12849.529174253817771671124754737
2071 + y*(-77097.175045522906630026748528424
2072 + y*(192742.93761380726657506687132106
2073 + y*(-212017.23137518799323257355845317
2074 + 84806.89255007519729302942338127*y))))
2075 + x*(23771.628972369562877591580796264
2076 + y*(-462583.05027313743978016049117055
2077 + y*(2.6984011265933017320509361984949e6
2078 + y*(-6.5532598788694470635522736249161e6
2079 + (6.9965686353812037766749274289545e6
2080 - 2.7138205616024063133769415482005e6*y)*y)))
2081 + x*(-196597.79636608341190656820874748
2082 + y*(3.4693728770485307983512036837791e6
2083 + y*(-1.811783613569788305805628590418e7
2084 + y*(3.8741330460375260581588441135533e7
2085 + y*(-3.5618894871031582863072357820132e7
2086 + 1.1533737386810226831852001579852e7*y))))
2087 + x*(648901.22329981779746939180011424
2088 + x*(-1.0825728329308841472632922605866e6
2089 + x*(977206.69370200284153558903759778
2090 + x*(-457443.23860343591267149204126865
2091 + 87376.79838492596084736364833221*x
2092 + 1.7475359676985192169472729666443e6*y)
2093 + y*(-7.4013288043701990364825678587287e6
2094 + 1.0485215806191115301683637799866e7*y))
2095 + y*(1.2142805069669857794229212893227e7
2096 + y*(-3.3922757020030078917211769352507e7
2097 + 2.6213039515477788254209094499664e7*y)))
2098 + y*(-9.5086515889478251510366323185057e6
2099 + y*(3.8934073397989067848163508006854e7
2100 + y*(-5.8593853034597409038820328881603e7
2101 + 2.8834343467025567079630003949631e7*y))))));
2102 return;
2103 case ( 43 ):
2104 grad[0]= -394.36024140371960168901824361658
2105 + y*(21163.999621999618623977312407423
2106 + y*(-273291.64729277768397048964282629
2107 + y*(1.4492738871586695362071420452909e6
2108 + y*(-3.7957173235108011662568005948096e6
2109 + y*(5.1925412985627759954393032136995e6
2110 + y*(-3.5527914148061098916163653567417e6
2111 + 958689.7468524423517060033502319*y))))))
2112 + x*(4600.8694830433953530385461755267
2113 + y*(-215320.69180643090252220396101465
2114 + y*(2.3602460448012618161087741880452e6
2115 + y*(-1.0213930252356337683745572509669e7
2116 + y*(2.0496873546958326297786723211972e7
2117 + y*(-1.913041531049443787793427499784e7
2118 + 6.710828227967096461942023451623e6*y)))))
2119 + x*(-19323.651828782260482761893937212
2120 + x*(41407.825347390558177346915579741
2121 + x*(-50609.564313477348883424007930794
2122 + x*(35886.781967738483753700660169109
2123 + x*(-13802.60844913018605911563852658
2124 + 2234.7080346210777429044367138273*x
2125 + 109500.69369643280940231739897754*y)
2126 + y*(-568667.4681041636656355643072951
2127 + 1.2670794556301510802268156167401e6*y))
2128 + y*(1.2008269350743261871430605518125e6
2129 + y*(-5.3416094698133820048777521097865e6
2130 + 5.866108590880329075124146373797e6*y)))
2131 + y*(-1.3066469331843242802629471138496e6
2132 + y*(8.6956433229520172172428522717455e6
2133 + y*(-1.9047599659799656761579581166681e7
2134 + 1.2905438899936723965273122022352e7*y))))
2135 + y*(759143.46470216023325136011896191
2136 + y*(-6.708067706277270424730200323918e6
2137 + y*(2.1946147434116995833993865257263e7
2138 + y*(-2.9606595123384249096803044639515e7
2139 + 1.3937874011931661882494971784141e7*y))))));
2140 grad[1]= -920.17389660867907060770923510535
2141 + y*(24844.695208434334906408149347844
2142 + y*(-207039.1267369527908867345778987
2143 + y*(759143.46470216023325136011896191
2144 + y*(-1.3664582364638884198524482141314e6
2145 + (1.1842638049353699638721217855806e6
2146 - 394754.60164512332129070726186019*y)*y))))
2147 + x*(21163.999621999618623977312407423
2148 + y*(-546583.29458555536794097928565258
2149 + y*(4.3478216614760086086214261358728e6
2150 + y*(-1.5182869294043204665027202379238e7
2151 + y*(2.5962706492813879977196516068497e7
2152 + y*(-2.131674848883665934969819214045e7
2153 + 6.710828227967096461942023451623e6*y)))))
2154 + x*(-107660.34590321545126110198050733
2155 + y*(2.3602460448012618161087741880452e6
2156 + y*(-1.5320895378534506525618358764504e7
2157 + y*(4.0993747093916652595573446423943e7
2158 + y*(-4.78260382762360946948356874946e7
2159 + 2.013248468390128938582607035487e7*y))))
2160 + x*(253047.82156738674441712003965397
2161 + x*(-326661.7332960810700657367784624
2162 + x*(240165.3870148652374286121103625
2163 + x*(-94777.911350693944272594051215851
2164 + 15642.956242347544200331056996791*x
2165 + 422359.81854338369340893853891335*y)
2166 + y*(-2.1366437879253528019511008439146e6
2167 + 3.519665154528197445074487824278e6*y))
2168 + y*(4.3478216614760086086214261358728e6
2169 + y*(-1.4285699744849742571184685875011e7
2170 + 1.2905438899936723965273122022352e7*y)))
2171 + y*(-4.472045137518180283153466882612e6
2172 + y*(2.1946147434116995833993865257263e7
2173 + y*(-3.9475460164512332129070726186019e7
2174 + 2.3229790019886103137491619640234e7*y))))));
2175 return;
2176 case ( 44 ):
2177 grad[0]= -139.94284547628721130097966906109
2178 + y*(8816.3992650060943119617191508489
2179 + y*(-132245.98897509141467942578726273
2180 + y*(808169.93262555864526315758882782
2181 + y*(-2.4245097978766759357894727664835e6
2182 + y*(3.7822352846876144598315775157142e6
2183 + y*(-2.9417385547570334687578936233333e6
2184 + 900532.2106399082047218041704081*y))))))
2185 + x*(979.59991833401047910685768342766
2186 + y*(-52898.395590036565871770314905094
2187 + y*(661229.94487545707339712893631367
2188 + y*(-3.2326797305022345810526303553113e6
2189 + y*(7.2735293936300278073684182994504e6
2190 + y*(-7.5644705693752289196631550314284e6
2191 + 2.9417385547570334687578936233333e6*y)))))
2192 + x*(-2938.799755002031437320573050283
2193 + x*(4897.9995916700523955342884171383
2194 + x*(-4897.9995916700523955342884171383
2195 + x*(2938.799755002031437320573050283
2196 + x*(-979.59991833401047910685768342766
2197 + 139.94284547628721130097966906109*x
2198 + 8816.399265006094311961719150849*y)
2199 + y*(-52898.395590036565871770314905094
2200 + 132245.98897509141467942578726273*y))
2201 + y*(132245.98897509141467942578726273
2202 + y*(-661229.94487545707339712893631367
2203 + 808169.9326255586452631575888278*y)))
2204 + y*(-176327.98530012188623923438301698
2205 + y*(1.3224598897509141467942578726273e6
2206 + y*(-3.2326797305022345810526303553113e6
2207 + 2.4245097978766759357894727664835e6*y))))
2208 + y*(132245.98897509141467942578726273
2209 + y*(-1.3224598897509141467942578726273e6
2210 + y*(4.8490195957533518715789455329669e6
2211 + y*(-7.2735293936300278073684182994504e6
2212 + 3.7822352846876144598315775157142e6*y))))));
2213 grad[1]= -1259.4856092865849017088170215498
2214 + y*(44081.996325030471559808595754245
2215 + y*(-484901.95957533518715789455329669
2216 + y*(2.4245097978766759357894727664835e6
2217 + y*(-6.303725474479357433052629192857e6
2218 + y*(8.8252156642711004062736808699998e6
2219 + y*(-6.303725474479357433052629192857e6
2220 + 1.8010644212798164094436083408163e6*y))))))
2221 + x*(8816.3992650060943119617191508489
2222 + y*(-264491.97795018282935885157452547
2223 + y*(2.4245097978766759357894727664835e6
2224 + y*(-9.6980391915067037431578910659338e6
2225 + y*(1.8911176423438072299157887578571e7
2226 + y*(-1.765043132854220081254736174e7
2227 + 6.303725474479357433052629192857e6*y)))))
2228 + x*(-26449.197795018282935885157452547
2229 + x*(44081.996325030471559808595754245
2230 + x*(-44081.996325030471559808595754245
2231 + x*(26449.197795018282935885157452547
2232 + x*(-8816.3992650060943119617191508489
2233 + 1259.4856092865849017088170215498*x
2234 + 44081.996325030471559808595754245*y)
2235 + y*(-264491.97795018282935885157452547
2236 + 484901.95957533518715789455329669*y))
2237 + y*(661229.94487545707339712893631367
2238 + y*(-2.4245097978766759357894727664835e6
2239 + 2.4245097978766759357894727664835e6*y)))
2240 + y*(-881639.92650060943119617191508489
2241 + y*(4.8490195957533518715789455329669e6
2242 + y*(-9.6980391915067037431578910659338e6
2243 + 6.303725474479357433052629192857e6*y))))
2244 + y*(661229.94487545707339712893631367
2245 + y*(-4.8490195957533518715789455329669e6
2246 + y*(1.4547058787260055614736836598901e7
2247 + y*(-1.8911176423438072299157887578571e7
2248 + 8.82521566427110040627368087e6*y))))));
2249 return;
2250 #endif
2251 }
2252 }
2253
2254 /* H\phi_i(x,y) for triangle */
2255 static void
2256 hess_triangle_2d ( const int i, DomainType xi, HessianRangeType &h )
2257 {
2258 const RangeField &x = xi[0];
2259 const RangeField &y = xi[1];
2260
2261 switch (i) {
2262 #if (PMAX2D>=0)
2263 case ( 0 ):
2264 h[0] = 0;
2265 h[1] = 0;
2266 h[2] = 0;
2267 return;
2268 #endif
2269 #if (PMAX2D>=1)
2270 case ( 1 ):
2271 h[0] = 0;
2272 h[1] = 0;
2273 h[2] = 0;
2274 return;
2275 case ( 2 ):
2276 h[0] = 0;
2277 h[1] = 0;
2278 h[2] = 0;
2279 return;
2280 #endif
2281 #if (PMAX2D>=2)
2282 case ( 3 ):
2283 h[0] = 48.989794855663561963945681494118;
2284 h[1] = 0;
2285 h[2] = 0;
2286 return;
2287 case ( 4 ):
2288 h[0] = 42.426406871192851464050661726290;
2289 h[1] = 42.426406871192851464050661726291;
2290 h[2] = 0;
2291 return;
2292 case ( 5 ):
2293 h[0] = 10.954451150103322269139395656016;
2294 h[1] = 32.863353450309966807418186968048;
2295 h[2] = 65.726706900619933614836373936096;
2296 return;
2297 #endif
2298 #if (PMAX2D>=3)
2299 case ( 6 ):
2300 h[0] = -254.55844122715710878430397035774+593.96969619669992049670926416808*x;
2301 h[1] = 0;
2302 h[2] = 0;
2303 return;
2304 case ( 7 ):
2305 h[0] = -323.33264604737950896204149786118+617.27141518136088074571558682590*x+411.51427678757392049714372455058*y;
2306 h[1] = -117.57550765359254871346963558588+411.51427678757392049714372455058*x;
2307 h[2] = 0;
2308 return;
2309 case ( 8 ):
2310 h[0] = -189.73665961010275991993361266596+265.63132345414386388790705773235*x+531.26264690828772777581411546470*y;
2311 h[1] = -303.57865537616441587189378026554+531.26264690828772777581411546470*y+531.26264690828772777581411546470*x;
2312 h[2] = -75.894663844041103967973445066386+531.26264690828772777581411546470*x;
2313 return;
2314 case ( 9 ):
2315 h[0] = -44.899888641287296627004984787798+44.899888641287296627004984787798*x+179.5995545651491865080199391512*y;
2316 h[1] = 179.5995545651491865080199391512*x-179.59955456514918650801993915119+448.99888641287296627004984787798*y;
2317 h[2] = -448.99888641287296627004984787798+897.99777282574593254009969575596*y+448.99888641287296627004984787798*x;
2318 return;
2319 #endif
2320 #if (PMAX2D>=4)
2321 case ( 10 ):
2322 h[0] = 796.89397036243159166372117319704+(-4250.1011752663018222065129237177+4781.3638221745895499823270391822*x)*x;
2323 h[1] = 0;
2324 h[2] = 0;
2325 return;
2326 case ( 11 ):
2327 h[0] = 1150.2173707608488382596365438817-1840.3477932173581412154184702106*y+(-5521.0433796520744236462554106321+5521.0433796520744236462554106318*y+5521.0433796520744236462554106320*x)*x;
2328 h[1] = 230.04347415216976765192730877634+(-1840.3477932173581412154184702106+2760.5216898260372118231277053159*x)*x;
2329 h[2] = 0;
2330 return;
2331 case ( 12 ):
2332 h[0] = 975.80735803743558367316521970470+(-4412.3463146040565522612688195342+3054.7012947258853054116476442930*y)*y+(-3733.5238046649709288364582319135+9164.1038841776559162349429328790*y+3054.7012947258853054116476442930*x)*x;
2333 h[1] = -1357.6450198781712468496211752414*y+721.24891681027847488886124934695+(-4412.3463146040565522612688195342+6109.4025894517706108232952885860*y+4582.0519420888279581174714664395*x)*x;
2334 h[2] = 84.852813742385702928101323452582+x*(-1357.6450198781712468496211752414+3054.7012947258853054116476442930*x);
2335 return;
2336 case ( 13 ):
2337 h[0] = 501.99601592044532878690321547112+(-3815.1697209953844987804644375804+4517.96414328400795908212893924*y)*y+(-1405.5888445772469206033290033191+5421.556971940809550898554727088*y+903.59282865680159181642578784804*x)*x;
2338 h[1] = 1104.3912350249797233311870740364+(-5019.9601592044532878690321547112+4517.9641432840079590821289392399*y)*y+(-3815.1697209953844987804644375804+9035.92828656801591816425787848*y+2710.778485970404775449277363544*x)*x;
2339 h[2] = -1003.9920318408906575738064309422*y+501.99601592044532878690321547112+x*(-5019.9601592044532878690321547112+9035.9282865680159181642578784798*y+4517.96414328400795908212893924*x);
2340 return;
2341 case ( 14 ):
2342 h[0] = 113.84199576606165595196016759958+(-1138.4199576606165595196016759958+1707.6299364909248392794025139936*y)*y+(-227.68399153212331190392033519916+1138.4199576606165595196016759958*y+113.84199576606165595196016759958*x)*x;
2343 h[1] = 569.20997883030827975980083799789+(-3415.2598729818496785588050279874+3984.4698518121579583186058659851*y)*y+(-1138.4199576606165595196016759958+3415.2598729818496785588050279872*y+569.20997883030827975980083799788*x)*x;
2344 h[2] = 1707.6299364909248392794025139937+(-7968.9397036243159166372117319702+7968.9397036243159166372117319708*y)*y+x*(1707.6299364909248392794025139936*x-3415.2598729818496785588050279874+7968.9397036243159166372117319702*y);
2345 return;
2346 #endif
2347 #if (PMAX2D>=5)
2348 case ( 15 ):
2349 h[0] = -1939.8969044771425687507399024866+(17459.072140294283118756659122380+(-43647.680350735707796891647805948+32008.298923872852384387208391028*x)*x)*x;
2350 h[1] = 0;
2351 h[2] = 0;
2352 return;
2353 case ( 16 ):
2354 h[0] = -2976.+5184.*y+(25056.-34560.*y+(-58320.+47520.*y+39600.*x)*x)*x;
2355 h[1] = -384.+(5184.+(-17280.+15840.*x)*x)*x;
2356 h[2] = 0;
2357 return;
2358 case ( 17 ):
2359 h[0] = -2943.4673431176368327362417038346+(15058.159250054436849576983874354-12548.466041712030707980819895294*y)*y+(21471.819671373919211433847376394+(-83656.440278080204719872132635302+46011.042152944112595929672949414*y)*y+(-43222.494143674772438600601861570+92022.084305888225191859345898828*y+25561.690084968951442183151638564*x)*x)*x;
2360 h[1] = -1301.3224043256920734202331743269+2509.6932083424061415961639790590*y+(-25096.932083424061415961639790588*y+15058.159250054436849576983874354+(-41828.220139040102359936066317651+46011.042152944112595929672949414*y+30674.028101962741730619781966276*x)*x)*x;
2361 h[2] = -92.951600308978005244302369594778+x*(2509.6932083424061415961639790590+x*(-12548.466041712030707980819895294+15337.014050981370865309890983138*x));
2362 return;
2363 case ( 18 ):
2364 h[0] = -2162.9757280191564831095582754396+(21116.508802356510750357721468698+(-41243.181254602560059292424743552+20163.333057805696028987407652404*y)*y)*y+(12427.945284720238097866783989391+(-85785.817009573324923328243466586+90734.998760125632130443334435812*y)*y+(-20346.636085603929629250929540152+72587.999008100505704354667548652*y+10081.666528902848014493703826202*x)*x)*x;
2365 h[1] = -2419.5999669366835234784889182884+(11548.090751288716816601878928195-10998.181667894016015811313264947*y)*y+(21116.508802356510750357721468698+(-82486.362509205120118584849487104+60489.999173417088086962222957212*y)*y+(-42892.908504786662461664121733293+90734.998760125632130443334435812*y+24195.999669366835234784889182884*x)*x)*x;
2366 h[2] = -549.90908339470080079056566324736+1099.8181667894016015811313264947*y+x*(-21996.363335788032031622626529895*y+11548.090751288716816601878928195+x*(-41243.181254602560059292424743552+60489.999173417088086962222957212*y+30244.999586708544043481111478604*x));
2367 return;
2368 case ( 19 ):
2369 h[0] = -1039.2304845413263761164678049035+(14964.918977395099816077136390611+(-43024.142060010911971221767123006+32008.298923872852384387208391028*y)*y)*y+(4364.7680350735707796891647805947+(-42400.603769286116145551886440064+61730.290781754786741318187611270*y)*y+(-5611.8446165231624310289261464792+27435.684791891016329474750049454*y+2286.3070659909180274562291707878*x)*x)*x;
2370 h[1] = -2909.8453567157138531261098537299+(24317.993338267037201125346634742+(-52377.216420882849356269977367137+32008.298923872852384387208391028*y)*y)*y+(14964.918977395099816077136390611+(-86048.284120021823942443534246012+96024.896771618557153161625173084*y)*y+(-21200.301884643058072775943220032+61730.290781754786741318187611270*y+9145.2282639636721098249166831512*x)*x)*x;
2371 h[2] = -1870.6148721743874770096420488263+(8729.5360701471415593783295611894-8729.5360701471415593783295611900*y)*y+(24317.993338267037201125346634742+(-104754.43284176569871253995473427+96024.896771618557153161625173084*y)*y+x*(20576.763593918262247106062537090*x-43024.142060010911971221767123006+96024.896771618557153161625173084*y))*x;
2372 return;
2373 case ( 20 ):
2374 h[0] = -229.78250586152114639402445872876+(4136.0851055073806350924402571176+(-14476.297869275832222823540899912+12867.820328245184198065369688810*y)*y)*y+(689.34751758456343918207337618628+(-8272.1702110147612701848805142350+14476.297869275832222823540899912*y)*y+(-689.34751758456343918207337618628+4136.0851055073806350924402571178*y+229.78250586152114639402445872876*x)*x)*x;
2375 h[1] = -1378.6950351691268783641467523725+(14476.297869275832222823540899912+(-38603.46098473555259419610906643+28952.595738551664445647081799824*y)*y)*y+(4136.0851055073806350924402571176+(-28952.595738551664445647081799824+38603.460984735552594196109066430*y)*y+(-4136.0851055073806350924402571175+14476.297869275832222823540899912*y+1378.6950351691268783641467523725*x)*x)*x;
2376 h[2] = -4825.432623091944074274513633304+(38603.460984735552594196109066430+(-86857.787215654993336941245399472+57905.191477103328891294163599647*y)*y)*y+(14476.297869275832222823540899912+(-77206.92196947110518839221813286+86857.787215654993336941245399472*y)*y+x*(4825.432623091944074274513633304*x-14476.297869275832222823540899912+38603.460984735552594196109066430*y))*x;
2377 return;
2378 #endif
2379 #if (PMAX2D>=6)
2380 case ( 21 ):
2381 h[0] = 4040.9899777158566964304486309018+(-53879.866369544755952405981745357+(222254.44877437211830367467469960+(-355607.11803899538928587947951937+192620.52227112250252985138473965*x)*x)*x)*x;
2382 h[1] = 0;
2383 h[2] = 0;
2384 return;
2385 case ( 22 ):
2386 h[0] = 6415.9332914237816286563077617272-11665.333257134148415738741384958*y+(-81657.332799939038910171189694710+128318.66582847563257312615523454*y+(320796.66457118908143281538808636-384955.99748542689771937846570362*y+(-487610.93014820740377787938989127+333628.53115403664469012800360982*y+250221.39836552748351759600270735*x)*x)*x)*x;
2387 h[1] = 583.2666628567074207869370692479+(-11665.333257134148415738741384958+(64159.33291423781628656307761727+(-128318.66582847563257312615523454+83407.132788509161172532000902455*x)*x)*x)*x;
2388 h[2] = 0;
2389 return;
2390 case ( 23 ):
2391 h[0] = 6877.3454181101010043805740519542+(-37147.705178112954330230837944862+33131.737050749391699935612221094*y)*y+(-79315.370515430361948330708044436+(364449.10755824330869929173443203-265053.89640599513359948489776875*y)*y+(281619.76493136982944945270387930+(-960820.37447173235929813275441170+430712.58165974209209916295887422*y)*y+(-386536.93225874290316591547591277+717854.30276623682016527159812371*y+179463.57569155920504131789953092*x)*x)*x)*x;
2392 h[1] = -4015.9681273635626302952257237688*y+2058.1836652738258480263031834316+(-37147.705178112954330230837944862+66263.474101498783399871224442188*y+(-265053.89640599513359948489776875*y+182224.55377912165434964586721602+(-320273.45815724411976604425147056+287141.72110649472806610863924948*y+179463.57569155920504131789953092*x)*x)*x)*x;
2393 h[2] = 100.39920318408906575738064309422+x*(-4015.9681273635626302952257237688+x*(33131.737050749391699935612221094+x*(-88351.298801998377866494965922916+71785.430276623682016527159812370*x)));
2394 return;
2395 case ( 24 ):
2396 h[0] = 5939.6969619669992049670926416808+(-62960.787796850191572651182001816+(137206.99982143768163473984002282-78403.999897964389505565622870186*y)*y)*y+(-58209.030227276592208677507888471+(509625.99933676853178617654865620+(-862443.99887760828456122185157202+339750.66622451235452411769910416*y)*y)*y+(176408.99977041987638752265145792+(-1097655.9985715014530779187201826+1019251.9986735370635723530973124*y)*y+(-209077.33306123837201484166098716+679501.33244902470904823539820829*y+84937.666556128088631029424776035*x)*x)*x)*x;
2397 h[1] = 4157.7878733768994434769648491765+(-20194.969670687797296888114981714+19600.999974491097376391405717547*y)*y+(-62960.787796850191572651182001816+(274413.99964287536326947968004564-235211.99969389316851669686861056*y)*y+(254812.99966838426589308827432810+(-862443.99887760828456122185157202+509625.99933676853178617654865624*y)*y+(-365885.33285716715102597290672753+679501.33244902470904823539820824*y+169875.33311225617726205884955206*x)*x)*x)*x;
2398 h[2] = -1187.9393923933998409934185283362*y+593.96969619669992049670926416808+x*(-20194.969670687797296888114981714+39201.999948982194752782811435094*y+x*(-235211.99969389316851669686861056*y+137206.99982143768163473984002282+x*(-287481.33295920276152040728385734+339750.66622451235452411769910416*y+169875.33311225617726205884955206*x)));
2399 return;
2400 case ( 25 ):
2401 h[0] = 4040.9899777158566964304486309018+(-68696.829621169563839317626725332+(256602.86358495690022333348806226+(-320585.20489879129791681559138488+122576.69599071431979172360847070*y)*y)*y)*y+(-30980.923162488234672633439503582+(413527.97438625600193471590989563+(-1091067.2939832813080362211303435+735460.17594428591875034165082414*y)*y)*y+(76105.311246981967782773449215318+(-695050.27616712735178603716451512+945591.65478551046696472497963108*y)*y+(-75431.812917362658333368374443500+350219.13140204091369063888134482*y+26266.434855153068526797916100863*x)*x)*x)*x;
2402 h[1] = 6061.4849665737850446456729463528+(-52532.869710306137053595832201724+(117862.20768337915364588808506797-75431.812917362658333368374443500*y)*y)*y+(-68696.829621169563839317626725332+(513205.72716991380044666697612452+(-961755.61469637389375044677415464+490306.78396285727916689443388280*y)*y)*y+(206763.98719312800096735795494781+(-1091067.2939832813080362211303435+1103190.2639164288781255124762362*y)*y+(-231683.42538904245059534572150504+630394.43652367364464314998642072*y+87554.782850510228422659720336205*x)*x)*x)*x;
2403 h[2] = 2020.4949888579283482152243154510+(-9428.976614670332291671046805438+9428.9766146703322916710468054380*y)*y+(-52532.869710306137053595832201724+(235724.41536675830729177617013595-226295.43875208797500010512333050*y)*y+(256602.86358495690022333348806226+(-961755.61469637389375044677415464+735460.17594428591875034165082420*y)*y+x*(157598.60913091841116078749660518*x-363689.09799442710267874037678116+735460.17594428591875034165082414*y))*x)*x;
2404 return;
2405 case ( 26 ):
2406 h[0] = 1861.4510468986284894199862933174+(-43185.664288048180954543682004964+(218906.64311527871035579038809412+(-375268.5310547635034670692367328+203270.45432133023104466250323026*y)*y)*y)*y+(-10424.125862632319540751923242577+(183166.78301482504335892665126244+(-625447.55175793917244511539455468+542054.54485688061611910000861402*y)*y)*y+(20103.671306505187685735851967828+(-236776.57316550554385422225650998+406540.90864266046208932500646052*y)*y+(-16380.769212707930706895879381193+96795.454438728681449839287252507*y+4839.7727219364340724919643626252*x)*x)*x)*x;
2407 h[1] = 6328.9335594553368640279533972792+(-83393.00690105855632601538594062+(312723.77587896958622255769727734+(-437813.28623055742071158077618824+203270.45432133023104466250323026*y)*y)*y)*y+(-43185.664288048180954543682004964+(437813.28623055742071158077618824+(-1125805.5931642905104012077101984+813081.81728532092417865001292104*y)*y)*y+(91583.391507412521679463325631218+(-625447.55175793917244511539455468+813081.81728532092417865001292103*y)*y+(-78925.524388501847951407418836660+271027.27242844030805955000430701*y+24198.863609682170362459821813126*x)*x)*x)*x;
2408 h[2] = 5212.0629313161597703759616212888+(-41696.503450529278163007692970309+(93817.132763690875866767309183196-62544.755175793917244511539455467*y)*y)*y+(-83393.00690105855632601538594062+(625447.55175793917244511539455468+(-1313439.8586916722621347423285647+813081.81728532092417865001292104*y)*y)*y+(218906.64311527871035579038809412+(-1125805.5931642905104012077101984+1219622.7259279813862679750193816*y)*y+x*(67756.818107110077014887501076754*x-208482.51725264639081503846485156+542054.54485688061611910000861402*y))*x)*x;
2409 return;
2410 case ( 27 ):
2411 h[0] = 404.72212689696124396650916834486+(-11332.219553114914831062256713656+(67993.317318689488986373540281938+(-135986.63463737897797274708056388+84991.646648361861232966925352422*y)*y)*y)*y+(-1618.8885075878449758660366733794+(33996.658659344744493186770140969+(-135986.63463737897797274708056388+135986.63463737897797274708056388*y)*y)*y+(2428.3327613817674637990550100692+(-33996.658659344744493186770140969+67993.317318689488986373540281936*y)*y+(-1618.8885075878449758660366733794+11332.219553114914831062256713656*y+404.72212689696124396650916834488*x)*x)*x)*x;
2412 h[1] = 2833.0548882787287077655641784141+(-45328.878212459659324249026854626+(203979.95195606846695912062084582+(-339966.58659344744493186770140968+186981.62262639609471252723577534*y)*y)*y)*y+(-11332.219553114914831062256713656+(135986.63463737897797274708056388+(-407959.90391213693391824124169164+339966.58659344744493186770140968*y)*y)*y+(16998.329329672372246593385070484+(-135986.63463737897797274708056388+203979.95195606846695912062084582*y)*y+(-11332.219553114914831062256713656+45328.878212459659324249026854624*y+2833.0548882787287077655641784140*x)*x)*x)*x;
2413 h[2] = 11332.219553114914831062256713656+(-135986.63463737897797274708056388+(509949.87989017116739780155211452+(-747926.49050558437885010894310131+373963.24525279218942505447155066*y)*y)*y)*y+(-45328.878212459659324249026854626+(407959.90391213693391824124169164+(-1019899.7597803423347956031042290+747926.49050558437885010894310131*y)*y)*y+(67993.317318689488986373540281938+(-407959.90391213693391824124169164+509949.87989017116739780155211452*y)*y+x*(11332.219553114914831062256713656*x-45328.878212459659324249026854626+135986.63463737897797274708056388*y))*x)*x;
2414 return;
2415 #endif
2416 #if (PMAX2D>=7)
2417 case ( 28 ):
2418 h[0] = -7560.+(138600.+(-831600.+(2162160.+(-2522520.+1081080.*x)*x)*x)*x)*x;
2419 h[1] = 0;
2420 h[2] = 0;
2421 return;
2422 case ( 29 ):
2423 h[0] = -12262.919717587651238174320097862+22863.070659909180274562291707878*y+(217199.17126913721260834177122484-365809.13055854688439299666732606*y+(-1257468.8862950049151009260439333+1783319.5114729160614158587532144*y+(3150531.1369354850418346837973457-3328863.0880827766479762696726670*y+(-3536917.0310879501884747865272086+2080539.4300517354049851685454170*y+1456377.6010362147834896179817918*x)*x)*x)*x)*x;
2424 h[1] = -831.3843876330611008931742439228+(22863.070659909180274562291707878+(-182904.56527927344219649833366303+(594439.8371576386871386195844048+(-832215.77202069416199406741816675+416107.8860103470809970337090834*x)*x)*x)*x)*x;
2425 h[2] = 0;
2426 return;
2427 case ( 30 ):
2428 h[0] = -13792.067285218702847451783188735+(76741.852987792782380762840310858-70838.633527193337582242621825406*y)*y+(227273.94923307862474302841168985+(-1133418.1364350934013158819492065+920902.23585351338856915408373026*y)*y+(-1221966.4283440850732936852264882+(5064962.2971943236371303474605166-3223157.825487296859992039293056*y)*y+(2839448.5605483329480882250915018+(-8595087.5346327916266454381148160+3223157.8254872968599920392930560*y)*y+(-2954561.3400300221216593693519680+4834736.7382309452899880589395840*y+1128105.2389205539009972137525696*x)*x)*x)*x)*x;
2429 h[1] = -3005.2753617597173519739294107748+5903.2194605994447985202184854506*y+(-141677.26705438667516448524365081*y+76741.852987792782380762840310858+(-566709.06821754670065794097460326+920902.23585351338856915408373026*y+(-2148771.883658197906661359528704*y+1688320.7657314412123767824868389+(-2148771.8836581979066613595287040+1611578.9127436484299960196465280*y+966947.3476461890579976117879168*x)*x)*x)*x)*x;
2430 h[2] = -107.33126291998990542764033609910+x*(5903.2194605994447985202184854506+x*(-70838.633527193337582242621825406+x*(306967.41195117112952305136124342+x*(-537192.970914549476665339882176+322315.7825487296859992039293056*x))));
2431 return;
2432 case ( 31 ):
2433 h[0] = -13017.096450437785705267949507905+(143505.55111214339362880763847739+(-327649.84236223889872772009493068+198113.85817251654341676098763250*y)*y)*y+(190811.58455397827338697652815247+(-1859222.3613113090997572954223974+(3665106.3761915560532100782712014-1849062.6762768210718897692179034*y)*y)*y+(-912466.71215995600285219724111508+(7231155.8232968538347117760485866+(-10747676.805859022480359283579064+3466992.5180190395097933172835689*y)*y)*y+(1890336.3967294286851015944236602+(-10632110.388591721163366173002945+8667481.2950475987744832932089222*y)*y+(-1762387.8633263450841449362858142+5200488.7770285592646899759253532*y+606723.69065333191421383052462454*x)*x)*x)*x)*x;
2434 h[1] = -6349.8031465550174172038778087342+(31114.035418119585344299001262798-30479.055103464083602578613481925*y)*y+(143505.55111214339362880763847739+(-655299.68472447779745544018986136+594341.57451754963025028296289750*y)*y+(-929611.18065565454987864771119869+(3665106.3761915560532100782712014-2773594.0144152316078346538268551*y)*y+(2410385.2744322846115705920161956+(-7165117.8705726816535728557193756+3466992.5180190395097933172835689*y)*y+(-2658027.5971479302908415432507361+4333740.6475237993872416466044610*y+1040097.7554057118529379951850706*x)*x)*x)*x)*x;
2435 h[2] = -634.98031465550174172038778087342+1269.9606293110034834407755617468*y+x*(-60958.110206928167205157226963850*y+31114.035418119585344299001262798+x*(-327649.84236223889872772009493068+594341.57451754963025028296289750*y+x*(-1849062.6762768210718897692179034*y+1221702.1253971853510700260904005+x*(-1791279.4676431704133932139298439+1733496.2590095197548966586417844*y+866748.12950475987744832932089222*x))));
2436 return;
2437 case ( 32 ):
2438 h[0] = -10440.+(188640.+(-760320.+(1048320.-458640.*y)*y)*y)*y+(128520.+(-2004480.+(.67392e7+(-.733824e7+2293200.*y)*y)*y)*y+(-520560.+(6402240.+(-.1533168e8+9172800.*y)*y)*y+(926640.+(-7862400.+9828000.*y)*y+(-753480.+3276000.*y+229320.*x)*x)*x)*x)*x;
2439 h[1] = -10080.+(88560.+(-201600.+131040.*y)*y)*y+(188640.+(-1520640.+(3144960.-1834560.*y)*y)*y+(-1002240.+(.67392e7+(-.1100736e8+4586400.*y)*y)*y+(2134080.+(-.1022112e8+9172800.*y)*y+(-1965600.+4914000.*y+655200.*x)*x)*x)*x)*x;
2440 h[2] = -2160.+(10080.-10080.*y)*y+(88560.+(-403200.+393120.*y)*y+(-760320.+(3144960.-2751840.*y)*y+(.22464e7+(-.733824e7+4586400.*y)*y+x*(982800.*x-.255528e7+4586400.*y))*x)*x)*x;
2441 return;
2442 case ( 33 ):
2443 h[0] = -6765.9145723250156921944627828082+(177505.75877982099992463120006662+(-1069810.4923770377753305127035405+(2407073.6078483349944936535829662+(-2223199.9294710316268587217120450+702063.13562243104006064896169846*y)*y)*y)*y)*y+(64873.180899351621048688084329276+(-1413678.1506410856316867489296785+(6686315.5773564860958157043971284+(-10608954.049405624605360917643443+5265473.5171682328004548672127386*y)*y)*y)*y+(-212529.31656597402233128488976585+(3548523.1956970494065650488336187+(-11467031.215166373654323933041075+9360841.8082990805341419861559788*y)*y)*y+(316008.01002506249762367079114998+(-3566034.9745901259177683756784684+5850526.1301869253338387413474870*y)*y+(-220091.22108798433398726693640547+1253684.1707543411429654445744615*y+58505.261301869253338387413474871*x)*x)*x)*x)*x;
2444 h[1] = -12735.839194964735420601341708815+(172729.81908170922414190569692581+(-668631.55773564860958157043971281+(969515.75871669048389327713758356-468042.09041495402670709930779895*y)*y)*y)*y+(177505.75877982099992463120006662+(-2139620.9847540755506610254070810+(7221220.8235450049834809607488986+(-8892799.7178841265074348868481800+3510315.6781121552003032448084923*y)*y)*y)*y+(-706839.07532054281584337446483927+(6686315.5773564860958157043971284+(-15913431.074108436908041376465165+10530947.034336465600909734425477*y)*y)*y+(1182841.0652323498021883496112062+(-7644687.4767775824362159553607164+9360841.8082990805341419861559788*y)*y+(-891508.74364753147944209391961710+2925263.0650934626669193706737435*y+250736.83415086822859308891489230*x)*x)*x)*x)*x;
2445 h[2] = -5571.9296477970717465130869976068+(44575.437182376573972104695980855+(-100294.73366034729143723556595692+66863.155773564860958157043971280*y)*y)*y+(172729.81908170922414190569692581+(-1337263.1154712972191631408794256+(2908547.2761500714516798314127506-1872168.3616598161068283972311958*y)*y)*y+(-1069810.4923770377753305127035405+(7221220.8235450049834809607488986+(-13339199.576826189761152330272270+7020631.3562243104006064896169847*y)*y)*y+(2228771.8591188286986052347990428+(-10608954.049405624605360917643443+10530947.034336465600909734425477*y)*y+x*(585052.61301869253338387413474870*x-1911171.8691943956090539888401791+4680420.9041495402670709930779894*y))*x)*x)*x;
2446 return;
2447 case ( 34 ):
2448 h[0] = -3028.6630713897510062201458646752+(102974.54442725153421148495939896+(-799567.05084689426564211850827426+(2326013.2388273287727770720240706+(-2816656.656392468435784735654148+1199350.5762703413984631777624114*y)*y)*y)*y)*y+(21200.641499728257043541021052726+(-581503.30970683219319426800601764+(3416331.9445276391350163245353536+(-6687288.0616285702217340820692030+4088695.1463761638583971969173114*y)*y)*y)*y+(-54515.935285015518111962625564154+(1126662.6625569873743138942616592+(-4433962.7365145954731062935458846+4361274.8228012414489570100451324*y)*y)*y+(66630.587570574522136843209022853+(-920713.57370248430589092434286126+1817197.8428338506037320875188052*y)*y+(-39372.619928066763080861896240780+272579.67642507759055981312782078*y+9085.9892141692530186604375940259*x)*x)*x)*x)*x;
2449 h[1] = -12114.652285559004024880583458701+(230178.39342562107647273108571532+(-1308382.4468403724346871030135397+(3089236.3328175460263445487819688+(-3198268.2033875770625684740330970+1199350.5762703413984631777624114*y)*y)*y)*y)*y+(102974.54442725153421148495939896+(-1599134.1016937885312842370165485+(6978039.7164819863183312160722118+(-11266626.625569873743138942616592+5996752.8813517069923158888120570*y)*y)*y)*y+(-290751.65485341609659713400300882+(3416331.9445276391350163245353536+(-10030932.092442855332601123103804+8177390.2927523277167943938346228*y)*y)*y+(375554.22085232912477129808721972+(-2955975.1576763969820708623639230+4361274.8228012414489570100451323*y)*y+(-230178.39342562107647273108571531+908598.92141692530186604375940260*y+54515.935285015518111962625564156*x)*x)*x)*x)*x;
2450 h[2] = -12114.652285559004024880583458701+(145375.82742670804829856700150441+(-545159.35285015518111962625564154+(799567.05084689426564211850827427-399783.52542344713282105925413713*y)*y)*y)*y+(230178.39342562107647273108571532+(-2616764.8936807448693742060270794+(9267708.9984526380790336463459064+(-12793072.813550308250273896132388+5996752.8813517069923158888120569*y)*y)*y)*y+(-799567.05084689426564211850827426+(6978039.7164819863183312160722118+(-16899939.938354810614708413924888+11993505.762703413984631777624114*y)*y)*y+(1138777.3148425463783387748451179+(-6687288.0616285702217340820692030+8177390.2927523277167943938346228*y)*y+x*(181719.78428338506037320875188052*x-738993.78941909924551771559098076+2180637.4114006207244785050225662*y))*x)*x)*x;
2451 return;
2452 case ( 35 ):
2453 h[0] = -650.66120216284603671011658716344+(26026.448086513841468404663486538+(-234238.03277862457321564197137884+(780793.44259541524405213990459614+(-1073590.9835686959605716923688197+515323.67211297406107441233703344*y)*y)*y)*y)*y+(3253.3060108142301835505829358173+(-104105.79234605536587361865394615+(702714.09833587371964692591413652+(-1561586.8851908304881042798091923+1073590.9835686959605716923688197*y)*y)*y)*y+(-6506.6120216284603671011658716346+(156158.68851908304881042798091923+(-702714.09833587371964692591413652+780793.44259541524405213990459608*y)*y)*y+(6506.6120216284603671011658716343+(-104105.79234605536587361865394615+234238.03277862457321564197137884*y)*y+(-3253.3060108142301835505829358173+26026.448086513841468404663486539*y+650.66120216284603671011658716346*x)*x)*x)*x)*x;
2454 h[1] = -5205.2896173027682936809326973075+(117119.01638931228660782098568942+(-780793.44259541524405213990459614+(2147181.9671373919211433847376393+(-2576618.3605648703053720616851672+1116534.6229114437989945600635724*y)*y)*y)*y)*y+(26026.448086513841468404663486538+(-468476.06555724914643128394275768+(2342380.3277862457321564197137884+(-4294363.9342747838422867694752787+2576618.3605648703053720616851672*y)*y)*y)*y+(-52052.896173027682936809326973075+(702714.09833587371964692591413652+(-2342380.3277862457321564197137884+2147181.9671373919211433847376394*y)*y)*y+(52052.896173027682936809326973076+(-468476.06555724914643128394275768+780793.44259541524405213990459608*y)*y+(-26026.448086513841468404663486538+117119.01638931228660782098568942*y+5205.2896173027682936809326973078*x)*x)*x)*x)*x;
2455 h[2] = -23423.803277862457321564197137884+(390396.72129770762202606995229807+(-2147181.9671373919211433847376394+(5153236.7211297406107441233703343+(-5582673.1145572189949728003178621+2233069.2458228875979891201271448*y)*y)*y)*y)*y+(117119.01638931228660782098568942+(-1561586.8851908304881042798091923+(6441545.9014121757634301542129182+(-10306473.442259481221488246740669+5582673.1145572189949728003178621*y)*y)*y)*y+(-234238.03277862457321564197137884+(2342380.3277862457321564197137884+(-6441545.9014121757634301542129182+5153236.7211297406107441233703343*y)*y)*y+(234238.03277862457321564197137884+(-1561586.8851908304881042798091923+2147181.9671373919211433847376394*y)*y+x*(23423.803277862457321564197137884*x-117119.01638931228660782098568942+390396.72129770762202606995229804*y))*x)*x)*x;
2456 return;
2457 #endif
2458 #if (PMAX2D>=8)
2459 case ( 36 ):
2460 h[0] = 13067.333316327398250927603811698+(-313615.99959185755802226249148074+(2548129.9966838426589308827432810+(-9513018.6542863459266752955749160+(17836909.976786898612516179202966+(-16308031.978776593017157649556998+5775761.3258167100269100008847701*x)*x)*x)*x)*x)*x;
2461 h[1] = 0;
2462 h[2] = 0;
2463 return;
2464 case ( 37 ):
2465 h[0] = 21501.620962150737345975759607768-40739.913401969818129217228730508*y+(-502458.93195762775692701248767627+882698.12370934605946637328916104*y+(3972141.5566920572675986798012246-6178886.8659654224162646130241268*y+(-14417402.687252652304617430389630+18536660.597896267248793839072382*y+(26260269.180353045269124605352540-24715547.463861689665058452096509*y+(-23303230.465926735969912254833852+12004694.482447106408742676732590*y+8003129.6549647376058284511550599*x)*x)*x)*x)*x)*x;
2466 h[1] = 1131.6642611658282813671452425141+(-40739.913401969818129217228730508+(441349.06185467302973318664458052+(-2059628.9553218074720882043413756+(4634165.1494740668121984597680955+(-4943109.4927723379330116904193018+2000782.4137411844014571127887650*x)*x)*x)*x)*x)*x;
2467 h[2] = 0;
2468 return;
2469 case ( 38 ):
2470 h[0] = 24950.370738728512929471270065574+(-141391.75874144857669233452815868+133195.13504629213746379339609150*y)*y+(-551678.31148233478474319897218755+(2885894.5926696629783821902486493-2486309.1875307865659908100603748*y)*y+(4121649.4567102622537407178679426+(-18958107.554922247565679926710357+13985489.179860674433698306589608*y)*y+(-14123617.468056829242920018259629+(53144858.883470562848053565040510-29835710.250369438791889720724498*y)*y+(24267413.632461948045139469026783+(-65887193.469565843998756466599933+21133628.094011685810921885513186*y)*y+(-20304858.364834756955591615493060+29587079.331616360135290639718460*y+6574906.5181369689189534754929912*x)*x)*x)*x)*x)*x;
2471 h[1] = -8196.6236951564392285411320671696*y+4155.2328454612504422465461173846+(-141391.75874144857669233452815868+266390.27009258427492758679218300*y+(-2486309.1875307865659908100603747*y+1442947.2963348314891910951243247+(-6319369.1849740825218933089034524+9323659.4532404496224655377264056*y+(-14917855.125184719395944860362249*y+13286214.720867640712013391260128+(-13177438.693913168799751293319987+8453451.2376046743243687542052744*y+4931179.8886027266892151066197434*x)*x)*x)*x)*x)*x;
2472 h[2] = 113.84199576606165595196016759958+x*(-8196.6236951564392285411320671696+x*(133195.13504629213746379339609150+x*(-828769.72917692885533027002012492+x*(2330914.8633101124056163844316014+x*(-2983571.0250369438791889720724498+1408908.5396007790540614590342124*x)))));
2473 return;
2474 case ( 39 ):
2475 h[0] = 24874.53830727316233136076157244+(-280444.7044534804547322731349846+(656660.87137882671316994790252156-408588.98663571439930574536156896*y)*y)*y+(-503507.35122339574437523389941037+(5200754.1013203075683059873879707+(-11031902.639164288781255124762362+6128834.7995357159895861804235344*y)*y)*y+(3440902.9660250519770105270092130+(-30889327.389660008587514349334614+(55159513.195821443906275623811811-24515339.198142863958344721694138*y)*y)*y+(-10786749.247182860141671677545421+(77958778.650094307387536214987358+(-102964424.63220002862504783111538+27784051.091228579152790684586690*y)*y)*y+(16976872.394713933291153719773190+(-86784300.761425738412540314797249+62514114.955264303093779040320051*y)*y+(-13042160.453412003625839391941282+35007904.374948009732516262579228*y+3889767.1527720010813906958421363*x)*x)*x)*x)*x)*x;
2476 h[1] = 9024.8776168987466220280019423475+(-44450.88975487442366073493493992+43777.391425255114211329860168105*y)*y+(-280444.7044534804547322731349846+(1313321.7427576534263398958050431-1225766.9599071431979172360847069*y)*y+(2600377.0506601537841529936939854+(-11031902.639164288781255124762362+9193252.1993035739843792706353016*y)*y+(-10296442.463220002862504783111538+(36773008.797214295937517082541208-24515339.198142863958344721694137*y)*y+(19489694.662523576846884053746840+(-51482212.316100014312523915557690+20838038.318421434364593013440018*y)*y+(-17356860.152285147682508062959449+25005645.982105721237511616128019*y+5834650.7291580016220860437632049*x)*x)*x)*x)*x)*x;
2477 h[2] = -1346.9966592386188988101495436339*y+673.49832961930944940507477181698+x*(-44450.88975487442366073493493992+87554.782850510228422659720336210*y+x*(-1225766.9599071431979172360847069*y+656660.87137882671316994790252156+x*(-3677300.8797214295937517082541208+6128834.7995357159895861804235344*y+x*(-12257669.599071431979172360847069*y+9193252.1993035739843792706353018+x*(-10296442.463220002862504783111538+8335215.3273685737458372053760070*y+4167607.6636842868729186026880034*x)))));
2478 return;
2479 case ( 40 ):
2480 h[0] = 21892.025945535511355450141450766+(-407802.62284590568827245496051310+(1702232.2964859995864406406497822+(-2444779.2695456168727644553313158+1122602.7258117628497387805092776*y)*y)*y)*y+(-389474.41507755037643998507464735+(6566080.4330132904639823366114074+(-24440665.059101808328598592801988+(30684474.505521517892860000586923-11974429.075325470397213658765628*y)*y)*y)*y+(2343719.5683784355005770866550838+(-33742230.501542129083577059878860+(102958707.13873596421889958385089+(-98789039.871435130777012684816434+25445661.78506662459407902487696*y)*y)*y)*y+(-6500404.3551766839299159861870553+(73771036.267630130125691290609674+(-160371817.97310897853411150132538+84818872.61688874864693008292320*y)*y)*y+(9114464.9881383602800220036586590+(-71632745.361322010411903137258671+81789627.166285579052396865675945*y)*y+(-6286575.2645458719585371708519547+25445661.785066624594079024876959*y+1696377.4523377749729386016584640*x)*x)*x)*x)*x)*x;
2481 h[1] = 15018.948032402269418273934251107+(-132879.50632057601078540667252674+(304706.45414890705921481185251822-199573.81792209117328689431276047*y)*y)*y+(-407802.62284590568827245496051310+(3404464.5929719991728812812995644+(-7334337.8086368506182933659939474+4490410.9032470513989551220371104*y)*y)*y+(3283040.2165066452319911683057037+(-24440665.059101808328598592801988+(46026711.758282276839290000880383-23948858.150650940794427317531256*y)*y)*y+(-11247410.167180709694525686626287+(68639138.092490642812599722567262+(-98789039.871435130777012684816434+33927549.04675549945877203316928*y)*y)*y+(18442759.066907532531422822652419+(-80185908.986554489267055750662690+63614154.46266656148519756219240*y)*y+(-14326549.072264402082380627451734+32715850.866514231620958746270378*y+4240943.6308444374323465041461598*x)*x)*x)*x)*x)*x;
2482 h[2] = 2291.0259710444139790587357332198+(-10691.454531540598568940766755025+10691.454531540598568940766755025*y)*y+(-132879.50632057601078540667252674+(609412.90829781411842962370503644-598721.45376627351986068293828142*y)*y+(1702232.2964859995864406406497822+(-7334337.8086368506182933659939474+6735616.3548705770984326830556656*y)*y+(-8146888.3530339361095328642673292+(30684474.505521517892860000586922-23948858.150650940794427317531256*y)*y+(17159784.523122660703149930641816+(-49394519.935717565388506342408217+25445661.78506662459407902487696*y)*y+x*(5452641.8110857052701597910450630*x-16037181.797310897853411150132538+25445661.78506662459407902487696*y))*x)*x)*x)*x;
2483 return;
2484 case ( 41 ):
2485 h[0] = 16744.784262569643509799299505354+(-460974.06087544665662271012755916+(2943142.0809740055768988415836468+(-7107668.4258060322098065732488608+(7180557.4867136883050845231408252-2553087.1063870891751411637834046*y)*y)*y)*y)*y+(-248216.80200985589202761314560877+(6063581.8776693367909602639855858+(-33615646.900763340806025323148160+(68318719.791284145519981141981846+(-55316887.305053598794725215307098+14467493.602860171992466594772625*y)*y)*y)*y)*y+(1258813.7816214120238543238098730+(-25637249.693303687133709186325021+(112229454.05159912832391365797882+(-162641104.55502938449047413731318+72337468.014300859962332973863124*y)*y)*y)*y+(-2990421.4718330257468088631351915+(46983894.666151293848083916847374+(-141838172.57706050973006465463358+107166619.28044571846271551683426*y)*y)*y+(3649377.9819306193649297885098435+(-39005497.458691640175767780024235+60281223.345250716635277478219272*y)*y+(-2222131.3703739479857710129225928+12056244.669050143327055495643854*y+535833.09640222859231357758417133*x)*x)*x)*x)*x)*x;
2486 h[1] = 20684.733500821324335634428800731+(-283676.34515412101946012930926716+(1111065.6851869739928855064612964+(-1631138.9846361958618957435282863+797839.72074596536723161368231390*y)*y)*y)*y+(-460974.06087544665662271012755916+(5886284.1619480111537976831672936+(-21323005.277418096629419719746583+(28722229.946854753220338092563301-12765435.531935445875705818917023*y)*y)*y)*y+(3031790.9388346683954801319927929+(-33615646.900763340806025323148160+(102478079.68692621827997171297277+(-110633774.61010719758945043061420+36168734.007150429981166486931564*y)*y)*y)*y+(-8545749.8977678957112363954416736+(74819636.034399418882609105319216+(-162641104.55502938449047413731317+96449957.352401146616443965150832*y)*y)*y+(11745973.666537823462020979211844+(-70919086.288530254865032327316792+80374964.460334288847036637625695*y)*y+(-7801099.4917383280351535560048470+24112489.338100286654110991287709*y+2009374.1115083572211759159406424*x)*x)*x)*x)*x)*x;
2487 h[2] = 5909.923857377521238752693943066+(-47279.390859020169910021551544527+(106378.62943279538229754849097519-70919.086288530254865032327316791*y)*y)*y+(-283676.34515412101946012930926716+(2222131.3703739479857710129225928+(-4893416.9539085875856872305848586+3191358.8829838614689264547292556*y)*y)*y+(2943142.0809740055768988415836468+(-21323005.277418096629419719746583+(43083344.920282129830507138844950-25530871.063870891751411637834046*y)*y)*y+(-11205215.633587780268675107716053+(68318719.791284145519981141981846+(-110633774.61010719758945043061420+48224978.676200573308221982575417*y)*y)*y+(18704909.008599854720652276329804+(-81320552.277514692245237068656588+72337468.014300859962332973863124*y)*y+x*(4018748.2230167144423518318812848*x-14183817.257706050973006465463358+32149985.784133715538814655050278*y))*x)*x)*x)*x;
2488 return;
2489 case ( 42 ):
2490 h[0] = 10493.782158973951180198085216369+(-393195.59273216682381313641749496+(3469372.8770485307983512036837792+(-12078557.423798588705370857269453+(19370665.230187630290794220567767+(-14247557.948412633145228943128053+3844579.1289367422772840005266174*y)*y)*y)*y)*y)*y+(-120785.57423798588705370857269453+(3893407.3397989067848163508006854+(-28525954.766843475453109896955517+(77868146.795978135696327016013710+(-87890779.551896113558230493322406+34601212.160430680495556004739556*y)*y)*y)*y)*y+(494706.87320877198420933830305740+(-12990873.995170609767159507127039+(72856830.418019146765375277359361+(-135691028.08012031566884707741003+78639118.546433364762627283498992*y)*y)*y)*y+(-980847.39363470808990422918961160+(19544133.874040056830711780751956+(-74013288.043701990364825678587288+69901438.707940768677890918665772*y)*y)*y+(1024749.9516467419672907721991903+(-13723297.158103077380144761238060+26213039.515477788254209094499663*y)*y+(-544820.03698836187351885568960087+3669825.5321668903555892732299528*y+116502.39784656794779648486444295*x)*x)*x)*x)*x)*x;
2491 h[1] = 23771.628972369562877591580796264+(-462583.05027313743978016049117054+(2698401.1265933017320509361984948+(-6553259.878869447063552273624916+(6996568.6353812037766749274289545-2713820.5616024063133769415482007*y)*y)*y)*y)*y+(-393195.59273216682381313641749496+(6938745.7540970615967024073675584+(-36235672.271395766116112571808359+(77482660.920750521163176882271067+(-71237789.742063165726144715640263+23067474.773620453663704003159704*y)*y)*y)*y)*y+(1946703.6698994533924081754003427+(-28525954.766843475453109896955516+(116802220.19396720354449052402056+(-175781559.10379222711646098664481+86503030.401076701238890011848890*y)*y)*y)*y+(-4330291.3317235365890531690423464+(48571220.278679431176916851572908+(-135691028.08012031566884707741003+104852158.06191115301683637799866*y)*y)*y+(4886033.4685100142076779451879890+(-37006644.021850995182412839293644+52426079.030955576508418188999329*y)*y+(-2744659.4316206154760289522476118+10485215.806191115301683637799865*y+611637.58869448172593154553832547*x)*x)*x)*x)*x)*x;
2492 h[2] = 12849.529174253817771671124754737+(-154194.35009104581326005349705685+(578228.81284142179972520061396318+(-848068.92550075197293029423381267+424034.46275037598646514711690633*y)*y)*y)*y+(-462583.05027313743978016049117054+(5396802.2531866034641018723969896+(-19659779.636608341190656820874748+(27986274.541524815106699709715818-13569102.808012031566884707741003*y)*y)*y)*y+(3469372.8770485307983512036837792+(-36235672.271395766116112571808359+(116223991.38112578174476532340660+(-142475579.48412633145228943128053+57668686.934051134159260007899260*y)*y)*y)*y+(-9508651.5889478251510366323185056+(77868146.795978135696327016013710+(-175781559.10379222711646098664481+115337373.86810226831852001579852*y)*y)*y+(12142805.069669857794229212893227+(-67845514.040060157834423538705014+78639118.546433364762627283498992*y)*y+x*(1747535.9676985192169472729666442*x-7401328.8043701990364825678587288+20970431.612382230603367275599731*y))*x)*x)*x)*x;
2493 return;
2494 case ( 43 ):
2495 h[0] = 4600.8694830433953530385461755268+(-215320.69180643090252220396101466+(2360246.0448012618161087741880452+(-10213930.252356337683745572509669+(20496873.546958326297786723211972+(-19130415.310494437877934274997840+6710828.2279670964619420234516232*y)*y)*y)*y)*y)*y+(-38647.303657564520965523787874425+(1518286.9294043204665027202379238+(-13416135.412554540849460400647836+(43892294.868233991667987730514525+(-59213190.246768498193606089279029+27875748.023863323764989943568281*y)*y)*y)*y)*y+(124223.47604217167453204074673922+(-3919940.7995529728407888413415488+(26086929.968856051651728556815237+(-57142798.979398970284738743500042+38716316.699810171895819366067057*y)*y)*y)*y+(-202438.25725390939553369603172318+(4803307.7402973047485722422072500+(-21366437.879253528019511008439146+23464434.363521316300496585495186*y)*y)*y+(179433.90983869241876850330084555+(-2843337.3405208183281778215364755+6335397.2781507554011340780837004*y)*y+(-82815.650694781116354693831159481+657004.16217859685641390439386522*y+15642.956242347544200331056996791*x)*x)*x)*x)*x)*x;
2496 h[1] = 21163.999621999618623977312407423+(-546583.29458555536794097928565258+(4347821.6614760086086214261358727+(-15182869.294043204665027202379239+(25962706.492813879977196516068498+(-21316748.488836659349698192140451+6710828.2279670964619420234516233*y)*y)*y)*y)*y)*y+(-215320.69180643090252220396101466+(4720492.0896025236322175483760904+(-30641790.757069013051236717529007+(81987494.187833305191146892847888+(-95652076.552472189389671374989200+40264969.367802578771652140709741*y)*y)*y)*y)*y+(759143.46470216023325136011896191+(-13416135.412554540849460400647836+(65838442.302350987501981595771787+(-118426380.49353699638721217855806+69689370.059658309412474858920705*y)*y)*y)*y+(-1306646.9331843242802629471138496+(17391286.645904034434485704543491+(-57142798.979398970284738743500043+51621755.599746895861092488089409*y)*y)*y+(1200826.9350743261871430605518125+(-10683218.939626764009755504219573+17598325.772640987225372439121390*y)*y+(-568667.46810416366563556430729510+2534158.9112603021604536312334803*y+109500.69369643280940231739897754*x)*x)*x)*x)*x)*x;
2497 h[2] = 24844.695208434334906408149347844+(-414078.25347390558177346915579740+(2277430.3941064806997540803568858+(-5465832.9458555536794097928565259+(5921319.0246768498193606089279030-2368527.6098707399277442435711611*y)*y)*y)*y)*y+(-546583.29458555536794097928565258+(8695643.3229520172172428522717454+(-45548607.882129613995081607137714+(103850825.97125551990878606427399+(-106583742.44418329674849096070225+40264969.367802578771652140709740*y)*y)*y)*y)*y+(2360246.0448012618161087741880452+(-30641790.757069013051236717529007+(122981241.28174995778672033927183+(-191304153.10494437877934274997840+100662423.41950644692913035177435*y)*y)*y)*y+(-4472045.137518180283153466882612+(43892294.868233991667987730514525+(-118426380.49353699638721217855806+92919160.079544412549966478560940*y)*y)*y+(4347821.6614760086086214261358728+(-28571399.489699485142369371750021+38716316.699810171895819366067056*y)*y+x*(422359.81854338369340893853891336*x-2136643.7879253528019511008439146+7039330.3090563948901489756485558*y))*x)*x)*x)*x;
2498 return;
2499 case ( 44 ):
2500 h[0] = 979.59991833401047910685768342766+(-52898.395590036565871770314905094+(661229.94487545707339712893631366+(-3232679.7305022345810526303553112+(7273529.3936300278073684182994504+(-7564470.5693752289196631550314284+2941738.5547570334687578936233332*y)*y)*y)*y)*y)*y+(-5877.5995100040628746411461005659+(264491.97795018282935885157452547+(-2644919.7795018282935885157452547+(9698039.1915067037431578910659336+(-14547058.787260055614736836598901+7564470.5693752289196631550314284*y)*y)*y)*y)*y+(14693.998775010157186602865251415+(-528983.95590036565871770314905094+(3967379.6692527424403827736178820+(-9698039.1915067037431578910659338+7273529.3936300278073684182994508*y)*y)*y)*y+(-19591.998366680209582137153668553+(528983.95590036565871770314905094+(-2644919.7795018282935885157452546+3232679.7305022345810526303553112*y)*y)*y+(14693.998775010157186602865251415+(-264491.97795018282935885157452547+661229.94487545707339712893631366*y)*y+(-5877.5995100040628746411461005658+52898.395590036565871770314905091*y+979.59991833401047910685768342765*x)*x)*x)*x)*x)*x;
2501 h[1] = 8816.3992650060943119617191508489+(-264491.97795018282935885157452546+(2424509.7978766759357894727664834+(-9698039.1915067037431578910659340+(18911176.423438072299157887578571+(-17650431.328542200812547361739999+6303725.4744793574330526291928567*y)*y)*y)*y)*y)*y+(-52898.395590036565871770314905094+(1322459.8897509141467942578726273+(-9698039.1915067037431578910659336+(29094117.574520111229473673197802+(-37822352.846876144598315775157142+17650431.328542200812547361739999*y)*y)*y)*y)*y+(132245.98897509141467942578726274+(-2644919.7795018282935885157452548+(14547058.787260055614736836598900+(-29094117.574520111229473673197802+18911176.423438072299157887578571*y)*y)*y)*y+(-176327.98530012188623923438301698+(2644919.7795018282935885157452546+(-9698039.1915067037431578910659337+9698039.1915067037431578910659344*y)*y)*y+(132245.98897509141467942578726274+(-1322459.8897509141467942578726273+2424509.7978766759357894727664834*y)*y+(-52898.395590036565871770314905094+264491.97795018282935885157452545*y+8816.3992650060943119617191508486*x)*x)*x)*x)*x)*x;
2502 h[2] = 44081.996325030471559808595754244+(-969803.91915067037431578910659336+(7273529.3936300278073684182994502+(-25214901.897917429732210516771428+(44126078.321355502031368404349998+(-37822352.846876144598315775157142+12607450.948958714866105258385714*y)*y)*y)*y)*y)*y+(-264491.97795018282935885157452546+(4849019.5957533518715789455329668+(-29094117.574520111229473673197802+(75644705.693752289196631550314284+(-88252156.642711004062736808700000+37822352.846876144598315775157140*y)*y)*y)*y)*y+(661229.94487545707339712893631366+(-9698039.1915067037431578910659336+(43641176.361780166844210509796702+(-75644705.693752289196631550314284+44126078.321355502031368404349998*y)*y)*y)*y+(-881639.92650060943119617191508490+(9698039.1915067037431578910659336+(-29094117.574520111229473673197802+25214901.897917429732210516771428*y)*y)*y+(661229.94487545707339712893631366+(-4849019.5957533518715789455329668+7273529.3936300278073684182994508*y)*y+x*(44081.996325030471559808595754244*x-264491.97795018282935885157452546+969803.91915067037431578910659336*y))*x)*x)*x)*x;
2503 return;
2504 #endif
2505 }
2506 printf("Error in hess_triangle_2d -- unmatched switch/case %d\n",i);
2507 }
2508
2509 /* \phi_i(x,y) for quadrilateral */
2510 static RangeField
2511 eval_quadrilateral_2d ( const int i, DomainType xi )
2512 {
2513 const RangeField &x = xi[0];
2514 const RangeField &y = xi[1];
2515
2516 switch (i) {
2517 #if (PMAX2D>=0)
2518 case ( 0 ):
2519 return 1.;
2520 #endif
2521 #if (PMAX2D>=1)
2522 case ( 1 ):
2523 return -1.7320508075688772935274463415059
2524 + 3.4641016151377545870548926830117*x;
2525 case ( 2 ):
2526 return -1.7320508075688772935274463415059
2527 + 3.4641016151377545870548926830117*y;
2528 #endif
2529 #if (PMAX2D>=2)
2530 case ( 3 ):
2531 return 2.2360679774997896964091736687313
2532 + x*(-13.416407864998738178455042012388
2533 + 13.416407864998738178455042012388*x);
2534 case ( 4 ):
2535 return 3.
2536 - 6.*y
2537 + x*(-6.
2538 + 12.*y);
2539 case ( 5 ):
2540 return 2.2360679774997896964091736687313
2541 + y*(-13.416407864998738178455042012388
2542 + 13.416407864998738178455042012388*y);
2543 #endif
2544 #if (PMAX2D>=3)
2545 case ( 6 ):
2546 return -2.6457513110645905905016157536393
2547 + x*(31.749015732775087086019389043671
2548 + x*(-79.372539331937717715048472609178
2549 + 52.91502622129181181003231507279*x));
2550 case ( 7 ):
2551 return -3.8729833462074168851792653997824
2552 + 7.745966692414833770358530799565*y
2553 + x*(23.237900077244501311075592398694
2554 - 46.475800154489002622151184797389*y
2555 + x*(-23.237900077244501311075592398694
2556 + 46.475800154489002622151184797389*y));
2557 case ( 8 ):
2558 return -3.8729833462074168851792653997824
2559 + (23.237900077244501311075592398694
2560 - 23.237900077244501311075592398694*y)*y
2561 + x*(7.7459666924148337703585307995648
2562 + y*(-46.475800154489002622151184797389
2563 + 46.475800154489002622151184797389*y));
2564 case ( 9 ):
2565 return -2.6457513110645905905016157536393
2566 + y*(31.749015732775087086019389043671
2567 + y*(-79.372539331937717715048472609178
2568 + 52.91502622129181181003231507279*y));
2569 #endif
2570 #if (PMAX2D>=4)
2571 case ( 10 ):
2572 return 3.
2573 + x*(-60.
2574 + x*(270.
2575 + x*(-420.
2576 + 210.*x)));
2577 case ( 11 ):
2578 return 4.582575694955840006588047193728
2579 - 9.165151389911680013176094387456*y
2580 + x*(-54.990908339470080079056566324736
2581 + 109.98181667894016015811313264947*y
2582 + x*(137.47727084867520019764141581184
2583 - 274.95454169735040039528283162368*y
2584 + x*(-91.65151389911680013176094387456
2585 + 183.30302779823360026352188774912*y)));
2586 case ( 12 ):
2587 return 5.
2588 + y*(-30.
2589 + 30.*y)
2590 + x*(-30.
2591 + (180.
2592 - 180.*y)*y
2593 + x*(30.
2594 + y*(-180.
2595 + 180.*y)));
2596 case ( 13 ):
2597 return 4.582575694955840006588047193728
2598 + y*(-54.990908339470080079056566324736
2599 + (137.47727084867520019764141581184
2600 - 91.65151389911680013176094387456*y)*y)
2601 + x*(-9.165151389911680013176094387456
2602 + y*(109.98181667894016015811313264947
2603 + y*(-274.95454169735040039528283162368
2604 + 183.30302779823360026352188774912*y)));
2605 case ( 14 ):
2606 return 3.
2607 + y*(-60.
2608 + y*(270.
2609 + y*(-420.
2610 + 210.*y)));
2611 #endif
2612 #if (PMAX2D>=5)
2613 case ( 15 ):
2614 return -3.3166247903553998491149327366707
2615 + x*(99.498743710661995473447982100121
2616 + x*(-696.49120597463396831413587470084
2617 + x*(1857.3098825990239155043623325356
2618 + x*(-2089.4736179239019049424076241025
2619 + 835.789447169560761976963049641*x))));
2620 case ( 16 ):
2621 return -5.1961524227066318805823390245176
2622 + 10.392304845413263761164678049035*y
2623 + x*(103.92304845413263761164678049035
2624 - 207.8460969082652752232935609807*y
2625 + x*(-467.65371804359686925241051220659
2626 + 935.3074360871937385048210244132*y
2627 + x*(727.46133917892846328152746343247
2628 - 1454.9226783578569265630549268649*y
2629 + x*(-363.73066958946423164076373171623
2630 + 727.4613391789284632815274634325*y))));
2631 case ( 17 ):
2632 return -5.9160797830996160425673282915616
2633 + (35.49647869859769625540396974937
2634 - 35.49647869859769625540396974937*y)*y
2635 + x*(70.992957397195392510807939498739
2636 + y*(-425.95774438317235506484763699244
2637 + 425.95774438317235506484763699244*y)
2638 + x*(-177.48239349298848127701984874685
2639 + (1064.8943609579308876621190924811
2640 - 1064.8943609579308876621190924811*y)*y
2641 + x*(118.32159566199232085134656583123
2642 + y*(-709.92957397195392510807939498739
2643 + 709.9295739719539251080793949874*y))));
2644 case ( 18 ):
2645 return -5.9160797830996160425673282915616
2646 + y*(70.992957397195392510807939498739
2647 + y*(-177.48239349298848127701984874685
2648 + 118.32159566199232085134656583123*y))
2649 + x*(35.49647869859769625540396974937
2650 + y*(-425.95774438317235506484763699244
2651 + (1064.8943609579308876621190924811
2652 - 709.9295739719539251080793949874*y)*y)
2653 + x*(-35.49647869859769625540396974937
2654 + y*(425.95774438317235506484763699244
2655 + y*(-1064.8943609579308876621190924811
2656 + 709.9295739719539251080793949874*y))));
2657 case ( 19 ):
2658 return -5.1961524227066318805823390245176
2659 + y*(103.92304845413263761164678049035
2660 + y*(-467.65371804359686925241051220659
2661 + (727.46133917892846328152746343247
2662 - 363.73066958946423164076373171623*y)*y))
2663 + x*(10.392304845413263761164678049035
2664 + y*(-207.8460969082652752232935609807
2665 + y*(935.30743608719373850482102441317
2666 + y*(-1454.9226783578569265630549268649
2667 + 727.4613391789284632815274634325*y))));
2668 case ( 20 ):
2669 return -3.3166247903553998491149327366707
2670 + y*(99.498743710661995473447982100121
2671 + y*(-696.49120597463396831413587470084
2672 + y*(1857.3098825990239155043623325356
2673 + y*(-2089.4736179239019049424076241025
2674 + 835.789447169560761976963049641*y))));
2675 #endif
2676 #if (PMAX2D>=6)
2677 case ( 21 ):
2678 return 3.6055512754639892931192212674705
2679 + x*(-151.43315356948755031100729323376
2680 + x*(1514.3315356948755031100729323376
2681 + x*(-6057.3261427795020124402917293504
2682 + x*(11357.486517711566273325546992532
2683 + x*(-9994.5881355861783205264813534282
2684 + 3331.5293785287261068421604511427*x)))));
2685 case ( 22 ):
2686 return 5.7445626465380286598506114682189
2687 - 11.489125293076057319701222936438*y
2688 + x*(-172.33687939614085979551834404657
2689 + 344.67375879228171959103668809314*y
2690 + x*(1206.358155772986018568628408326
2691 - 2412.716311545972037137256816652*y
2692 + x*(-3216.9550820612960495163424222026
2693 + 6433.910164122592099032684844405*y
2694 + x*(3619.0744673189580557058852249779
2695 - 7238.148934637916111411770449956*y
2696 + x*(-1447.6297869275832222823540899912
2697 + 2895.2595738551664445647081799823*y)))));
2698 case ( 23 ):
2699 return 6.7082039324993690892275210061938
2700 + y*(-40.249223594996214535365126037163
2701 + 40.249223594996214535365126037163*y)
2702 + x*(-134.16407864998738178455042012388
2703 + (804.98447189992429070730252074326
2704 - 804.9844718999242907073025207433*y)*y
2705 + x*(603.73835392494321803047689055744
2706 + y*(-3622.4301235496593081828613433447
2707 + 3622.4301235496593081828613433447*y)
2708 + x*(-939.14855054991167249185294086714
2709 + (5634.8913032994700349511176452028
2710 - 5634.891303299470034951117645203*y)*y
2711 + x*(469.57427527495583624592647043357
2712 + y*(-2817.4456516497350174755588226014
2713 + 2817.4456516497350174755588226014*y)))));
2714 case ( 24 ):
2715 return 7.
2716 + y*(-84.
2717 + (210.
2718 - 140.*y)*y)
2719 + x*(-84.
2720 + y*(1008.
2721 + y*(-2520.
2722 + 1680.*y))
2723 + x*(210.
2724 + y*(-2520.
2725 + (6300.
2726 - 4200.*y)*y)
2727 + x*(-140.
2728 + y*(1680.
2729 + y*(-4200.
2730 + 2800.*y)))));
2731 case ( 25 ):
2732 return 6.7082039324993690892275210061938
2733 + y*(-134.16407864998738178455042012388
2734 + y*(603.73835392494321803047689055744
2735 + y*(-939.14855054991167249185294086714
2736 + 469.57427527495583624592647043357*y)))
2737 + x*(-40.249223594996214535365126037163
2738 + y*(804.98447189992429070730252074326
2739 + y*(-3622.4301235496593081828613433447
2740 + (5634.8913032994700349511176452028
2741 - 2817.4456516497350174755588226014*y)*y))
2742 + x*(40.249223594996214535365126037163
2743 + y*(-804.98447189992429070730252074326
2744 + y*(3622.4301235496593081828613433447
2745 + y*(-5634.8913032994700349511176452028
2746 + 2817.4456516497350174755588226014*y)))));
2747 case ( 26 ):
2748 return 5.7445626465380286598506114682189
2749 + y*(-172.33687939614085979551834404657
2750 + y*(1206.358155772986018568628408326
2751 + y*(-3216.9550820612960495163424222026
2752 + (3619.0744673189580557058852249779
2753 - 1447.6297869275832222823540899912*y)*y)))
2754 + x*(-11.489125293076057319701222936438
2755 + y*(344.67375879228171959103668809314
2756 + y*(-2412.716311545972037137256816652
2757 + y*(6433.9101641225920990326848444052
2758 + y*(-7238.1489346379161114117704499559
2759 + 2895.2595738551664445647081799823*y)))));
2760 case ( 27 ):
2761 return 3.6055512754639892931192212674705
2762 + y*(-151.43315356948755031100729323376
2763 + y*(1514.3315356948755031100729323376
2764 + y*(-6057.3261427795020124402917293504
2765 + y*(11357.486517711566273325546992532
2766 + y*(-9994.5881355861783205264813534282
2767 + 3331.5293785287261068421604511427*y)))));
2768 #endif
2769 #if (PMAX2D>=7)
2770 case ( 28 ):
2771 return -3.8729833462074168851792653997824
2772 + x*(216.88706738761534557003886238781
2773 + x*(-2927.9754097328071651955246422355
2774 + x*(16266.530054071150917752914679086
2775 + x*(-44732.957648695665023820515367487
2776 + x*(64415.459014121757634301542129181
2777 + x*(-46522.275954643491624773335982186
2778 + 13292.078844183854749935238852053*x))))));
2779 case ( 29 ):
2780 return -6.2449979983983982058468931209398
2781 + 12.48999599679679641169378624188*y
2782 + x*(262.28991593273272464556951107947
2783 - 524.5798318654654492911390221589*y
2784 + x*(-2622.8991593273272464556951107947
2785 + 5245.798318654654492911390221589*y
2786 + x*(10491.596637309308985822780443179
2787 - 20983.193274618617971645560886358*y
2788 + x*(-19671.74369495495434841771333096
2789 + 39343.487389909908696835426661921*y
2790 + x*(17311.134451560359826607587731245
2791 - 34622.26890312071965321517546249*y
2792 + x*(-5770.3781505201199422025292437484
2793 + 11540.756301040239884405058487497*y))))));
2794 case ( 30 ):
2795 return -7.4161984870956629487113974408007
2796 + (44.497190922573977692268384644804
2797 - 44.497190922573977692268384644804*y)*y
2798 + x*(222.48595461286988846134192322402
2799 + y*(-1334.9157276772193307680515393441
2800 + 1334.9157276772193307680515393441*y)
2801 + x*(-1557.4016822900892192293934625681
2802 + (9344.4100937405353153763607754089
2803 - 9344.410093740535315376360775409*y)*y
2804 + x*(4153.0711527735712512783825668484
2805 + y*(-24918.42691664142750767029540109
2806 + 24918.42691664142750767029540109*y)
2807 + x*(-4672.2050468702676576881803877044
2808 + (28033.230281221605946129082326227
2809 - 28033.230281221605946129082326227*y)*y
2810 + x*(1868.8820187481070630752721550818
2811 + y*(-11213.292112488642378451632930491
2812 + 11213.292112488642378451632930491*y))))));
2813 case ( 31 ):
2814 return -7.9372539331937717715048472609178
2815 + y*(95.247047198325261258058167131013
2816 + y*(-238.11761799581315314514541782753
2817 + 158.74507866387543543009694521836*y))
2818 + x*(158.74507866387543543009694521836
2819 + y*(-1904.9409439665052251611633426203
2820 + (4762.3523599162630629029083565507
2821 - 3174.9015732775087086019389043671*y)*y)
2822 + x*(-714.3528539874394594354362534826
2823 + y*(8572.2342478492735132252350417912
2824 + y*(-21430.585619623183783063087604478
2825 + 14287.057079748789188708725069652*y))
2826 + x*(1111.2155506471280480106786165285
2827 + y*(-13334.586607765536576128143398342
2828 + (33336.466519413841440320358495855
2829 - 22224.31101294256096021357233057*y)*y)
2830 + x*(-555.60777532356402400533930826424
2831 + y*(6667.2933038827682880640716991709
2832 + y*(-16668.233259706920720160179247927
2833 + 11112.155506471280480106786165285*y))))));
2834 case ( 32 ):
2835 return -7.9372539331937717715048472609178
2836 + y*(158.74507866387543543009694521836
2837 + y*(-714.3528539874394594354362534826
2838 + (1111.2155506471280480106786165285
2839 - 555.6077753235640240053393082642*y)*y))
2840 + x*(95.247047198325261258058167131013
2841 + y*(-1904.9409439665052251611633426203
2842 + y*(8572.2342478492735132252350417912
2843 + y*(-13334.586607765536576128143398342
2844 + 6667.293303882768288064071699171*y)))
2845 + x*(-238.11761799581315314514541782753
2846 + y*(4762.3523599162630629029083565507
2847 + y*(-21430.585619623183783063087604478
2848 + (33336.466519413841440320358495855
2849 - 16668.233259706920720160179247927*y)*y))
2850 + x*(158.74507866387543543009694521836
2851 + y*(-3174.9015732775087086019389043671
2852 + y*(14287.057079748789188708725069652
2853 + y*(-22224.31101294256096021357233057
2854 + 11112.155506471280480106786165285*y))))));
2855 case ( 33 ):
2856 return -7.4161984870956629487113974408007
2857 + y*(222.48595461286988846134192322402
2858 + y*(-1557.4016822900892192293934625681
2859 + y*(4153.0711527735712512783825668484
2860 + y*(-4672.2050468702676576881803877044
2861 + 1868.8820187481070630752721550818*y))))
2862 + x*(44.497190922573977692268384644804
2863 + y*(-1334.9157276772193307680515393441
2864 + y*(9344.4100937405353153763607754089
2865 + y*(-24918.42691664142750767029540109
2866 + (28033.230281221605946129082326227
2867 - 11213.292112488642378451632930491*y)*y)))
2868 + x*(-44.497190922573977692268384644804
2869 + y*(1334.9157276772193307680515393441
2870 + y*(-9344.4100937405353153763607754089
2871 + y*(24918.42691664142750767029540109
2872 + y*(-28033.230281221605946129082326227
2873 + 11213.292112488642378451632930491*y))))));
2874 case ( 34 ):
2875 return -6.2449979983983982058468931209398
2876 + y*(262.28991593273272464556951107947
2877 + y*(-2622.8991593273272464556951107947
2878 + y*(10491.596637309308985822780443179
2879 + y*(-19671.74369495495434841771333096
2880 + (17311.134451560359826607587731245
2881 - 5770.378150520119942202529243748*y)*y))))
2882 + x*(12.48999599679679641169378624188
2883 + y*(-524.57983186546544929113902215894
2884 + y*(5245.7983186546544929113902215894
2885 + y*(-20983.193274618617971645560886358
2886 + y*(39343.487389909908696835426661921
2887 + y*(-34622.26890312071965321517546249
2888 + 11540.756301040239884405058487497*y))))));
2889 case ( 35 ):
2890 return -3.8729833462074168851792653997824
2891 + y*(216.88706738761534557003886238781
2892 + y*(-2927.9754097328071651955246422355
2893 + y*(16266.530054071150917752914679086
2894 + y*(-44732.957648695665023820515367487
2895 + y*(64415.459014121757634301542129181
2896 + y*(-46522.275954643491624773335982186
2897 + 13292.078844183854749935238852053*y))))));
2898 #endif
2899 #if (PMAX2D>=8)
2900 case ( 36 ):
2901 return 4.1231056256176605498214098559741
2902 + x*(-296.86360504447155958714150963013
2903 + x*(5195.1130882782522927749764185273
2904 + x*(-38097.4959807071834803498270692
2905 + x*(142865.6099276519380513118515095
2906 + x*(-297160.46864951603114672865113976
2907 + x*(346687.21342443536967118342632972
2908 + x*(-212257.47760679716510480617938555
2909 + 53064.36940169929127620154484639*x)))))));
2910 case ( 37 ):
2911 return 6.7082039324993690892275210061938
2912 - 13.416407864998738178455042012388*y
2913 + x*(-375.65942021996466899674117634685
2914 + 751.3188404399293379934823526937*y
2915 + x*(5071.4021729695230314560058806825
2916 - 10142.804345939046062912011761365*y
2917 + x*(-28174.456516497350174755588226014
2918 + 56348.91303299470034951117645203*y
2919 + x*(77479.755420367712980577867621539
2920 - 154959.51084073542596115573524308*y
2921 + x*(-111570.84780532950669203212937502
2922 + 223141.69561065901338406425875003*y
2923 + x*(80578.9456371824214998009823264
2924 - 161157.8912743648429996019646528*y
2925 + x*(-23022.555896337834714228852093257
2926 + 46045.111792675669428457704186514*y)))))));
2927 case ( 38 ):
2928 return 8.0622577482985496523666132303038
2929 + y*(-48.373546489791297914199679381823
2930 + 48.373546489791297914199679381823*y)
2931 + x*(-338.61482542853908539939775567276
2932 + (2031.6889525712345123963865340366
2933 - 2031.6889525712345123963865340366*y)*y
2934 + x*(3386.1482542853908539939775567276
2935 + y*(-20316.889525712345123963865340366
2936 + 20316.889525712345123963865340366*y)
2937 + x*(-13544.59301714156341597591022691
2938 + (81267.558102849380495855461361462
2939 - 81267.55810284938049585546136146*y)*y
2940 + x*(25396.111907140431404954831675457
2941 + y*(-152376.67144284258842972899005274
2942 + 152376.67144284258842972899005274*y)
2943 + x*(-22348.578478283579636360251874402
2944 + (134091.47086970147781816151124641
2945 - 134091.47086970147781816151124641*y)*y
2946 + x*(7449.5261594278598787867506248007
2947 + y*(-44697.156956567159272720503748804
2948 + 44697.156956567159272720503748804*y)))))));
2949 case ( 39 ):
2950 return 8.7749643873921220604063883074163
2951 + y*(-105.299572648705464724876659689
2952 + (263.24893162176366181219164922249
2953 - 175.49928774784244120812776614833*y)*y)
2954 + x*(-263.24893162176366181219164922249
2955 + y*(3158.9871794611639417462997906699
2956 + y*(-7897.4679486529098543657494766747
2957 + 5264.97863243527323624383298445*y))
2958 + x*(1842.7425213523456326853415445574
2959 + y*(-22112.910256228147592224098534689
2960 + (55282.275640570368980560246336723
2961 - 36854.850427046912653706830891149*y)*y)
2962 + x*(-4913.9800569395883538275774521531
2963 + y*(58967.760683275060245930929425838
2964 + y*(-147419.40170818765061482732356459
2965 + 98279.60113879176707655154904306*y))
2966 + x*(5528.2275640570368980560246336723
2967 + y*(-66338.730768684442776672295604067
2968 + (165846.82692171110694168073901017
2969 - 110564.55128114073796112049267345*y)*y)
2970 + x*(-2211.2910256228147592224098534689
2971 + y*(26535.492307473777110668918241627
2972 + y*(-66338.730768684442776672295604067
2973 + 44225.820512456295184448197069378*y)))))));
2974 case ( 40 ):
2975 return 9.
2976 + y*(-180.
2977 + y*(810.
2978 + y*(-1260.
2979 + 630.*y)))
2980 + x*(-180.
2981 + y*(3600.
2982 + y*(-16200.
2983 + (25200.
2984 - 12600.*y)*y))
2985 + x*(810.
2986 + y*(-16200.
2987 + y*(72900.
2988 + y*(-113400.
2989 + 56700.*y)))
2990 + x*(-1260.
2991 + y*(25200.
2992 + y*(-113400.
2993 + (176400.
2994 - 88200.*y)*y))
2995 + x*(630.
2996 + y*(-12600.
2997 + y*(56700.
2998 + y*(-88200.
2999 + 44100.*y)))))));
3000 case ( 41 ):
3001 return 8.7749643873921220604063883074163
3002 + y*(-263.24893162176366181219164922249
3003 + y*(1842.7425213523456326853415445574
3004 + y*(-4913.9800569395883538275774521531
3005 + (5528.2275640570368980560246336723
3006 - 2211.2910256228147592224098534689*y)*y)))
3007 + x*(-105.299572648705464724876659689
3008 + y*(3158.9871794611639417462997906699
3009 + y*(-22112.910256228147592224098534689
3010 + y*(58967.760683275060245930929425838
3011 + y*(-66338.730768684442776672295604067
3012 + 26535.492307473777110668918241627*y))))
3013 + x*(263.24893162176366181219164922249
3014 + y*(-7897.4679486529098543657494766747
3015 + y*(55282.275640570368980560246336723
3016 + y*(-147419.40170818765061482732356459
3017 + (165846.82692171110694168073901017
3018 - 66338.73076868444277667229560407*y)*y)))
3019 + x*(-175.49928774784244120812776614833
3020 + y*(5264.9786324352732362438329844498
3021 + y*(-36854.850427046912653706830891149
3022 + y*(98279.601138791767076551549043063
3023 + y*(-110564.55128114073796112049267345
3024 + 44225.820512456295184448197069378*y)))))));
3025 case ( 42 ):
3026 return 8.0622577482985496523666132303038
3027 + y*(-338.61482542853908539939775567276
3028 + y*(3386.1482542853908539939775567276
3029 + y*(-13544.59301714156341597591022691
3030 + y*(25396.111907140431404954831675457
3031 + y*(-22348.578478283579636360251874402
3032 + 7449.526159427859878786750624801*y)))))
3033 + x*(-48.373546489791297914199679381823
3034 + y*(2031.6889525712345123963865340366
3035 + y*(-20316.889525712345123963865340366
3036 + y*(81267.558102849380495855461361462
3037 + y*(-152376.67144284258842972899005274
3038 + (134091.47086970147781816151124641
3039 - 44697.156956567159272720503748804*y)*y))))
3040 + x*(48.373546489791297914199679381823
3041 + y*(-2031.6889525712345123963865340366
3042 + y*(20316.889525712345123963865340366
3043 + y*(-81267.558102849380495855461361462
3044 + y*(152376.67144284258842972899005274
3045 + y*(-134091.47086970147781816151124641
3046 + 44697.156956567159272720503748804*y)))))));
3047 case ( 43 ):
3048 return 6.7082039324993690892275210061938
3049 + y*(-375.65942021996466899674117634685
3050 + y*(5071.4021729695230314560058806825
3051 + y*(-28174.456516497350174755588226014
3052 + y*(77479.755420367712980577867621539
3053 + y*(-111570.84780532950669203212937502
3054 + (80578.9456371824214998009823264
3055 - 23022.555896337834714228852093257*y)*y)))))
3056 + x*(-13.416407864998738178455042012388
3057 + y*(751.31884043992933799348235269371
3058 + y*(-10142.804345939046062912011761365
3059 + y*(56348.913032994700349511176452028
3060 + y*(-154959.51084073542596115573524308
3061 + y*(223141.69561065901338406425875003
3062 + y*(-161157.8912743648429996019646528
3063 + 46045.111792675669428457704186514*y)))))));
3064 case ( 44 ):
3065 return 4.1231056256176605498214098559741
3066 + y*(-296.86360504447155958714150963013
3067 + y*(5195.1130882782522927749764185273
3068 + y*(-38097.4959807071834803498270692
3069 + y*(142865.6099276519380513118515095
3070 + y*(-297160.46864951603114672865113976
3071 + y*(346687.21342443536967118342632972
3072 + y*(-212257.47760679716510480617938555
3073 + 53064.36940169929127620154484639*y)))))));
3074 #endif
3075 }
3076
3077 printf("Error in eval_quadrilateral_2d -- unmatched switch/case %d\n",i);
3078 return -123456789.0;
3079 }
3080
3081
3082 /* \nabla\phi_i(x,y) for quadrilateral */
3083 static void
3084 grad_quadrilateral_2d ( const int i, DomainType xi, JacobianRangeType grad )
3085 {
3086 const RangeField &x = xi[0];
3087 const RangeField &y = xi[1];
3088
3089 switch (i) {
3090 #if (PMAX2D>=0)
3091 case ( 0 ):
3092 grad[0]= 0;
3093 grad[1]= 0;
3094 return;
3095 #endif
3096 #if (PMAX2D>=1)
3097 case ( 1 ):
3098 grad[0]= 3.4641016151377545870548926830117;
3099 grad[1]= 0;
3100 return;
3101 case ( 2 ):
3102 grad[0]= 0;
3103 grad[1]= 3.4641016151377545870548926830117;
3104 return;
3105 #endif
3106 #if (PMAX2D>=2)
3107 case ( 3 ):
3108 grad[0]= -13.416407864998738178455042012388
3109 + 26.832815729997476356910084024775*x;
3110 grad[1]= 0;
3111 return;
3112 case ( 4 ):
3113 grad[0]= -6.
3114 + 12.*y;
3115 grad[1]= -6.
3116 + 12.*x;
3117 return;
3118 case ( 5 ):
3119 grad[0]= 0;
3120 grad[1]= -13.416407864998738178455042012388
3121 + 26.832815729997476356910084024775*y;
3122 return;
3123 #endif
3124 #if (PMAX2D>=3)
3125 case ( 6 ):
3126 grad[0]= 31.749015732775087086019389043671
3127 + x*(-158.74507866387543543009694521836
3128 + 158.74507866387543543009694521836*x);
3129 grad[1]= 0;
3130 return;
3131 case ( 7 ):
3132 grad[0]= 23.237900077244501311075592398694
3133 - 46.475800154489002622151184797389*y
3134 + x*(-46.475800154489002622151184797389
3135 + 92.95160030897800524430236959478*y);
3136 grad[1]= 7.7459666924148337703585307995648
3137 + x*(-46.475800154489002622151184797389
3138 + 46.475800154489002622151184797389*x);
3139 return;
3140 case ( 8 ):
3141 grad[0]= 7.7459666924148337703585307995648
3142 + y*(-46.475800154489002622151184797389
3143 + 46.475800154489002622151184797389*y);
3144 grad[1]= 23.237900077244501311075592398694
3145 - 46.475800154489002622151184797389*y
3146 + x*(-46.475800154489002622151184797389
3147 + 92.95160030897800524430236959478*y);
3148 return;
3149 case ( 9 ):
3150 grad[0]= 0;
3151 grad[1]= 31.749015732775087086019389043671
3152 + y*(-158.74507866387543543009694521836
3153 + 158.74507866387543543009694521836*y);
3154 return;
3155 #endif
3156 #if (PMAX2D>=4)
3157 case ( 10 ):
3158 grad[0]= -60.
3159 + x*(540.
3160 + x*(-1260.
3161 + 840.*x));
3162 grad[1]= 0;
3163 return;
3164 case ( 11 ):
3165 grad[0]= -54.990908339470080079056566324736
3166 + 109.98181667894016015811313264947*y
3167 + x*(274.95454169735040039528283162368
3168 - 549.9090833947008007905656632474*y
3169 + x*(-274.95454169735040039528283162368
3170 + 549.9090833947008007905656632474*y));
3171 grad[1]= -9.165151389911680013176094387456
3172 + x*(109.98181667894016015811313264947
3173 + x*(-274.95454169735040039528283162368
3174 + 183.30302779823360026352188774912*x));
3175 return;
3176 case ( 12 ):
3177 grad[0]= -30.
3178 + (180.
3179 - 180.*y)*y
3180 + x*(60.
3181 + y*(-360.
3182 + 360.*y));
3183 grad[1]= -30.
3184 + 60.*y
3185 + x*(180.
3186 - 360.*y
3187 + x*(-180.
3188 + 360.*y));
3189 return;
3190 case ( 13 ):
3191 grad[0]= -9.165151389911680013176094387456
3192 + y*(109.98181667894016015811313264947
3193 + y*(-274.95454169735040039528283162368
3194 + 183.30302779823360026352188774912*y));
3195 grad[1]= -54.990908339470080079056566324736
3196 + (274.95454169735040039528283162368
3197 - 274.95454169735040039528283162368*y)*y
3198 + x*(109.98181667894016015811313264947
3199 + y*(-549.90908339470080079056566324736
3200 + 549.9090833947008007905656632474*y));
3201 return;
3202 case ( 14 ):
3203 grad[0]= 0;
3204 grad[1]= -60.
3205 + y*(540.
3206 + y*(-1260.
3207 + 840.*y));
3208 return;
3209 #endif
3210 #if (PMAX2D>=5)
3211 return;
3212 case ( 15 ):
3213 grad[0]= 99.498743710661995473447982100121
3214 + x*(-1392.9824119492679366282717494017
3215 + x*(5571.9296477970717465130869976068
3216 + x*(-8357.8944716956076197696304964101
3217 + 4178.9472358478038098848152482051*x)));
3218 grad[1]= 0;
3219 return;
3220 case ( 16 ):
3221 grad[0]= 103.92304845413263761164678049035
3222 - 207.8460969082652752232935609807*y
3223 + x*(-935.30743608719373850482102441317
3224 + 1870.6148721743874770096420488263*y
3225 + x*(2182.3840175367853898445823902974
3226 - 4364.7680350735707796891647805948*y
3227 + x*(-1454.9226783578569265630549268649
3228 + 2909.8453567157138531261098537299*y)));
3229 grad[1]= 10.392304845413263761164678049035
3230 + x*(-207.8460969082652752232935609807
3231 + x*(935.30743608719373850482102441317
3232 + x*(-1454.9226783578569265630549268649
3233 + 727.4613391789284632815274634325*x)));
3234 return;
3235 case ( 17 ):
3236 grad[0]= 70.992957397195392510807939498739
3237 + y*(-425.95774438317235506484763699244
3238 + 425.95774438317235506484763699244*y)
3239 + x*(-354.9647869859769625540396974937
3240 + (2129.7887219158617753242381849622
3241 - 2129.7887219158617753242381849622*y)*y
3242 + x*(354.9647869859769625540396974937
3243 + y*(-2129.7887219158617753242381849622
3244 + 2129.7887219158617753242381849622*y)));
3245 grad[1]= 35.49647869859769625540396974937
3246 - 70.99295739719539251080793949874*y
3247 + x*(-425.95774438317235506484763699244
3248 + 851.9154887663447101296952739849*y
3249 + x*(1064.8943609579308876621190924811
3250 - 2129.7887219158617753242381849622*y
3251 + x*(-709.92957397195392510807939498739
3252 + 1419.8591479439078502161587899748*y)));
3253 return;
3254 case ( 18 ):
3255 grad[0]= 35.49647869859769625540396974937
3256 + y*(-425.95774438317235506484763699244
3257 + (1064.8943609579308876621190924811
3258 - 709.9295739719539251080793949874*y)*y)
3259 + x*(-70.992957397195392510807939498739
3260 + y*(851.91548876634471012969527398487
3261 + y*(-2129.7887219158617753242381849622
3262 + 1419.8591479439078502161587899748*y)));
3263 grad[1]= 70.992957397195392510807939498739
3264 + y*(-354.9647869859769625540396974937
3265 + 354.9647869859769625540396974937*y)
3266 + x*(-425.95774438317235506484763699244
3267 + (2129.7887219158617753242381849622
3268 - 2129.7887219158617753242381849622*y)*y
3269 + x*(425.95774438317235506484763699244
3270 + y*(-2129.7887219158617753242381849622
3271 + 2129.7887219158617753242381849622*y)));
3272 return;
3273 case ( 19 ):
3274 grad[0]= 10.392304845413263761164678049035
3275 + y*(-207.8460969082652752232935609807
3276 + y*(935.30743608719373850482102441317
3277 + y*(-1454.9226783578569265630549268649
3278 + 727.4613391789284632815274634325*y)));
3279 grad[1]= 103.92304845413263761164678049035
3280 + y*(-935.30743608719373850482102441317
3281 + (2182.3840175367853898445823902974
3282 - 1454.9226783578569265630549268649*y)*y)
3283 + x*(-207.8460969082652752232935609807
3284 + y*(1870.6148721743874770096420488263
3285 + y*(-4364.7680350735707796891647805948
3286 + 2909.8453567157138531261098537299*y)));
3287 return;
3288 case ( 20 ):
3289 grad[0]= 0;
3290 grad[1]= 99.498743710661995473447982100121
3291 + y*(-1392.9824119492679366282717494017
3292 + y*(5571.9296477970717465130869976068
3293 + y*(-8357.8944716956076197696304964101
3294 + 4178.9472358478038098848152482051*y)));
3295 return;
3296 #endif
3297 #if (PMAX2D>=6)
3298 case ( 21 ):
3299 grad[0]= -151.43315356948755031100729323376
3300 + x*(3028.6630713897510062201458646752
3301 + x*(-18171.978428338506037320875188051
3302 + x*(45429.946070846265093302187970128
3303 + x*(-49972.940677930891602632406767141
3304 + 19989.176271172356641052962706856*x))));
3305 grad[1]= 0;
3306 return;
3307 case ( 22 ):
3308 grad[0]= -172.33687939614085979551834404657
3309 + 344.67375879228171959103668809314*y
3310 + x*(2412.716311545972037137256816652
3311 - 4825.4326230919440742745136333039*y
3312 + x*(-9650.8652461838881485490272666078
3313 + 19301.730492367776297098054533216*y
3314 + x*(14476.297869275832222823540899912
3315 - 28952.595738551664445647081799823*y
3316 + x*(-7238.1489346379161114117704499559
3317 + 14476.297869275832222823540899912*y))));
3318 grad[1]= -11.489125293076057319701222936438
3319 + x*(344.67375879228171959103668809314
3320 + x*(-2412.716311545972037137256816652
3321 + x*(6433.9101641225920990326848444052
3322 + x*(-7238.1489346379161114117704499559
3323 + 2895.2595738551664445647081799823*x))));
3324 return;
3325 case ( 23 ):
3326 grad[0]= -134.16407864998738178455042012388
3327 + (804.98447189992429070730252074326
3328 - 804.9844718999242907073025207433*y)*y
3329 + x*(1207.4767078498864360609537811149
3330 + y*(-7244.8602470993186163657226866893
3331 + 7244.860247099318616365722686689*y)
3332 + x*(-2817.4456516497350174755588226014
3333 + (16904.673909898410104853352935608
3334 - 16904.673909898410104853352935608*y)*y
3335 + x*(1878.2971010998233449837058817343
3336 + y*(-11269.782606598940069902235290406
3337 + 11269.782606598940069902235290406*y))));
3338 grad[1]= -40.249223594996214535365126037163
3339 + 80.49844718999242907073025207433*y
3340 + x*(804.98447189992429070730252074326
3341 - 1609.9689437998485814146050414865*y
3342 + x*(-3622.4301235496593081828613433447
3343 + 7244.860247099318616365722686689*y
3344 + x*(5634.8913032994700349511176452028
3345 - 11269.782606598940069902235290406*y
3346 + x*(-2817.4456516497350174755588226014
3347 + 5634.891303299470034951117645203*y))));
3348 return;
3349 case ( 24 ):
3350 grad[0]= -84.
3351 + y*(1008.
3352 + y*(-2520.
3353 + 1680.*y))
3354 + x*(420.
3355 + y*(-5040.
3356 + (12600.
3357 - 8400.*y)*y)
3358 + x*(-420.
3359 + y*(5040.
3360 + y*(-12600.
3361 + 8400.*y))));
3362 grad[1]= -84.
3363 + (420.
3364 - 420.*y)*y
3365 + x*(1008.
3366 + y*(-5040.
3367 + 5040.*y)
3368 + x*(-2520.
3369 + (12600.
3370 - 12600.*y)*y
3371 + x*(1680.
3372 + y*(-8400.
3373 + 8400.*y))));
3374 return;
3375 case ( 25 ):
3376 grad[0]= -40.249223594996214535365126037163
3377 + y*(804.98447189992429070730252074326
3378 + y*(-3622.4301235496593081828613433447
3379 + (5634.8913032994700349511176452028
3380 - 2817.4456516497350174755588226014*y)*y))
3381 + x*(80.498447189992429070730252074326
3382 + y*(-1609.9689437998485814146050414865
3383 + y*(7244.8602470993186163657226866893
3384 + y*(-11269.782606598940069902235290406
3385 + 5634.891303299470034951117645203*y))));
3386 grad[1]= -134.16407864998738178455042012388
3387 + y*(1207.4767078498864360609537811149
3388 + y*(-2817.4456516497350174755588226014
3389 + 1878.2971010998233449837058817343*y))
3390 + x*(804.98447189992429070730252074326
3391 + y*(-7244.8602470993186163657226866893
3392 + (16904.673909898410104853352935608
3393 - 11269.782606598940069902235290406*y)*y)
3394 + x*(-804.98447189992429070730252074326
3395 + y*(7244.8602470993186163657226866893
3396 + y*(-16904.673909898410104853352935608
3397 + 11269.782606598940069902235290406*y))));
3398 return;
3399 case ( 26 ):
3400 grad[0]= -11.489125293076057319701222936438
3401 + y*(344.67375879228171959103668809314
3402 + y*(-2412.716311545972037137256816652
3403 + y*(6433.9101641225920990326848444052
3404 + y*(-7238.1489346379161114117704499559
3405 + 2895.2595738551664445647081799823*y))));
3406 grad[1]= -172.33687939614085979551834404657
3407 + y*(2412.716311545972037137256816652
3408 + y*(-9650.8652461838881485490272666078
3409 + (14476.297869275832222823540899912
3410 - 7238.148934637916111411770449956*y)*y))
3411 + x*(344.67375879228171959103668809314
3412 + y*(-4825.4326230919440742745136333039
3413 + y*(19301.730492367776297098054533216
3414 + y*(-28952.595738551664445647081799823
3415 + 14476.297869275832222823540899912*y))));
3416 return;
3417 case ( 27 ):
3418 grad[0]= 0;
3419 grad[1]= -151.43315356948755031100729323376
3420 + y*(3028.6630713897510062201458646752
3421 + y*(-18171.978428338506037320875188051
3422 + y*(45429.946070846265093302187970128
3423 + y*(-49972.940677930891602632406767141
3424 + 19989.176271172356641052962706856*y))));
3425 return;
3426 #endif
3427 #if (PMAX2D>=7)
3428 case ( 28 ):
3429 grad[0]= 216.88706738761534557003886238781
3430 + x*(-5855.950819465614330391049284471
3431 + x*(48799.590162213452753258744037258
3432 + x*(-178931.83059478266009528206146995
3433 + x*(322077.2950706087881715077106459
3434 + x*(-279133.65572786094974864001589312
3435 + 93044.55190928698324954667196437*x)))));
3436 grad[1]= 0;
3437 return;
3438 case ( 29 ):
3439 grad[0]= 262.28991593273272464556951107947
3440 - 524.5798318654654492911390221589*y
3441 + x*(-5245.7983186546544929113902215894
3442 + 10491.596637309308985822780443179*y
3443 + x*(31474.789911927926957468341329537
3444 - 62949.57982385585391493668265907*y
3445 + x*(-78686.974779819817393670853323841
3446 + 157373.94955963963478734170664768*y
3447 + x*(86555.672257801799133037938656226
3448 - 173111.34451560359826607587731245*y
3449 + x*(-34622.26890312071965321517546249
3450 + 69244.53780624143930643035092498*y)))));
3451 grad[1]= 12.48999599679679641169378624188
3452 + x*(-524.57983186546544929113902215894
3453 + x*(5245.7983186546544929113902215894
3454 + x*(-20983.193274618617971645560886358
3455 + x*(39343.487389909908696835426661921
3456 + x*(-34622.26890312071965321517546249
3457 + 11540.756301040239884405058487497*x)))));
3458 return;
3459 case ( 30 ):
3460 grad[0]= 222.48595461286988846134192322402
3461 + y*(-1334.9157276772193307680515393441
3462 + 1334.9157276772193307680515393441*y)
3463 + x*(-3114.8033645801784384587869251363
3464 + (18688.820187481070630752721550818
3465 - 18688.820187481070630752721550818*y)*y
3466 + x*(12459.213458320713753835147700545
3467 + y*(-74755.280749924282523010886203271
3468 + 74755.28074992428252301088620327*y)
3469 + x*(-18688.820187481070630752721550818
3470 + (112132.92112488642378451632930491
3471 - 112132.92112488642378451632930491*y)*y
3472 + x*(9344.4100937405353153763607754089
3473 + y*(-56066.460562443211892258164652453
3474 + 56066.46056244321189225816465245*y)))));
3475 grad[1]= 44.497190922573977692268384644804
3476 - 88.99438184514795538453676928961*y
3477 + x*(-1334.9157276772193307680515393441
3478 + 2669.8314553544386615361030786883*y
3479 + x*(9344.4100937405353153763607754089
3480 - 18688.820187481070630752721550818*y
3481 + x*(-24918.42691664142750767029540109
3482 + 49836.853833282855015340590802181*y
3483 + x*(28033.230281221605946129082326227
3484 - 56066.46056244321189225816465245*y
3485 + x*(-11213.292112488642378451632930491
3486 + 22426.584224977284756903265860981*y)))));
3487 return;
3488 case ( 31 ):
3489 grad[0]= 158.74507866387543543009694521836
3490 + y*(-1904.9409439665052251611633426203
3491 + (4762.3523599162630629029083565507
3492 - 3174.9015732775087086019389043671*y)*y)
3493 + x*(-1428.7057079748789188708725069652
3494 + y*(17144.468495698547026450470083582
3495 + y*(-42861.171239246367566126175208956
3496 + 28574.114159497578377417450139304*y))
3497 + x*(3333.6466519413841440320358495855
3498 + y*(-40003.759823296609728384430195026
3499 + (100009.39955824152432096107548756
3500 - 66672.93303882768288064071699171*y)*y)
3501 + x*(-2222.431101294256096021357233057
3502 + y*(26669.173215531073152256286796684
3503 + y*(-66672.933038827682880640716991709
3504 + 44448.62202588512192042714466114*y)))));
3505 grad[1]= 95.247047198325261258058167131013
3506 + y*(-476.23523599162630629029083565507
3507 + 476.23523599162630629029083565507*y)
3508 + x*(-1904.9409439665052251611633426203
3509 + (9524.7047198325261258058167131013
3510 - 9524.704719832526125805816713101*y)*y
3511 + x*(8572.2342478492735132252350417912
3512 + y*(-42861.171239246367566126175208956
3513 + 42861.171239246367566126175208956*y)
3514 + x*(-13334.586607765536576128143398342
3515 + (66672.933038827682880640716991709
3516 - 66672.93303882768288064071699171*y)*y
3517 + x*(6667.2933038827682880640716991709
3518 + y*(-33336.466519413841440320358495855
3519 + 33336.466519413841440320358495855*y)))));
3520 return;
3521 case ( 32 ):
3522 grad[0]= 95.247047198325261258058167131013
3523 + y*(-1904.9409439665052251611633426203
3524 + y*(8572.2342478492735132252350417912
3525 + y*(-13334.586607765536576128143398342
3526 + 6667.293303882768288064071699171*y)))
3527 + x*(-476.23523599162630629029083565507
3528 + y*(9524.7047198325261258058167131013
3529 + y*(-42861.171239246367566126175208956
3530 + (66672.933038827682880640716991709
3531 - 33336.466519413841440320358495855*y)*y))
3532 + x*(476.23523599162630629029083565507
3533 + y*(-9524.7047198325261258058167131013
3534 + y*(42861.171239246367566126175208956
3535 + y*(-66672.933038827682880640716991709
3536 + 33336.466519413841440320358495855*y)))));
3537 grad[1]= 158.74507866387543543009694521836
3538 + y*(-1428.7057079748789188708725069652
3539 + (3333.6466519413841440320358495855
3540 - 2222.431101294256096021357233057*y)*y)
3541 + x*(-1904.9409439665052251611633426203
3542 + y*(17144.468495698547026450470083582
3543 + y*(-40003.759823296609728384430195026
3544 + 26669.173215531073152256286796684*y))
3545 + x*(4762.3523599162630629029083565507
3546 + y*(-42861.171239246367566126175208956
3547 + (100009.39955824152432096107548756
3548 - 66672.93303882768288064071699171*y)*y)
3549 + x*(-3174.9015732775087086019389043671
3550 + y*(28574.114159497578377417450139304
3551 + y*(-66672.933038827682880640716991709
3552 + 44448.62202588512192042714466114*y)))));
3553 return;
3554 case ( 33 ):
3555 grad[0]= 44.497190922573977692268384644804
3556 + y*(-1334.9157276772193307680515393441
3557 + y*(9344.4100937405353153763607754089
3558 + y*(-24918.42691664142750767029540109
3559 + (28033.230281221605946129082326227
3560 - 11213.292112488642378451632930491*y)*y)))
3561 + x*(-88.994381845147955384536769289609
3562 + y*(2669.8314553544386615361030786883
3563 + y*(-18688.820187481070630752721550818
3564 + y*(49836.853833282855015340590802181
3565 + y*(-56066.460562443211892258164652453
3566 + 22426.584224977284756903265860981*y)))));
3567 grad[1]= 222.48595461286988846134192322402
3568 + y*(-3114.8033645801784384587869251363
3569 + y*(12459.213458320713753835147700545
3570 + y*(-18688.820187481070630752721550818
3571 + 9344.410093740535315376360775409*y)))
3572 + x*(-1334.9157276772193307680515393441
3573 + y*(18688.820187481070630752721550818
3574 + y*(-74755.280749924282523010886203271
3575 + (112132.92112488642378451632930491
3576 - 56066.46056244321189225816465245*y)*y))
3577 + x*(1334.9157276772193307680515393441
3578 + y*(-18688.820187481070630752721550818
3579 + y*(74755.280749924282523010886203271
3580 + y*(-112132.92112488642378451632930491
3581 + 56066.46056244321189225816465245*y)))));
3582 return;
3583 case ( 34 ):
3584 grad[0]= 12.48999599679679641169378624188
3585 + y*(-524.57983186546544929113902215894
3586 + y*(5245.7983186546544929113902215894
3587 + y*(-20983.193274618617971645560886358
3588 + y*(39343.487389909908696835426661921
3589 + y*(-34622.26890312071965321517546249
3590 + 11540.756301040239884405058487497*y)))));
3591 grad[1]= 262.28991593273272464556951107947
3592 + y*(-5245.7983186546544929113902215894
3593 + y*(31474.789911927926957468341329537
3594 + y*(-78686.974779819817393670853323841
3595 + (86555.672257801799133037938656226
3596 - 34622.26890312071965321517546249*y)*y)))
3597 + x*(-524.57983186546544929113902215894
3598 + y*(10491.596637309308985822780443179
3599 + y*(-62949.579823855853914936682659073
3600 + y*(157373.94955963963478734170664768
3601 + y*(-173111.34451560359826607587731245
3602 + 69244.53780624143930643035092498*y)))));
3603 return;
3604 case ( 35 ):
3605 grad[0]= 0;
3606 grad[1]= 216.88706738761534557003886238781
3607 + y*(-5855.950819465614330391049284471
3608 + y*(48799.590162213452753258744037258
3609 + y*(-178931.83059478266009528206146995
3610 + y*(322077.2950706087881715077106459
3611 + y*(-279133.65572786094974864001589312
3612 + 93044.55190928698324954667196437*y)))));
3613 return;
3614 #endif
3615 #if (PMAX2D>=8)
3616 case ( 36 ):
3617 grad[0]= -296.86360504447155958714150963013
3618 + x*(10390.226176556504585549952837055
3619 + x*(-114292.4879421215504410494812076
3620 + x*(571462.43971060775220524740603801
3621 + x*(-1.4858023432475801557336432556988e6
3622 + x*(2.0801232805466122180271005579783e6
3623 + x*(-1.4858023432475801557336432556988e6
3624 + 424514.95521359433020961235877109*x))))));
3625 grad[1]= 0;
3626 return;
3627 case ( 37 ):
3628 grad[0]= -375.65942021996466899674117634685
3629 + 751.3188404399293379934823526937*y
3630 + x*(10142.804345939046062912011761365
3631 - 20285.60869187809212582402352273*y
3632 + x*(-84523.369549492050524266764678042
3633 + 169046.73909898410104853352935608*y
3634 + x*(309919.02168147085192231147048615
3635 - 619838.0433629417038446229409723*y
3636 + x*(-557854.23902664753346016064687508
3637 + 1.1157084780532950669203212937502e6*y
3638 + x*(483473.6738230945289988058939584
3639 - 966947.3476461890579976117879168*y
3640 + x*(-161157.8912743648429996019646528
3641 + 322315.7825487296859992039293056*y))))));
3642 grad[1]= -13.416407864998738178455042012388
3643 + x*(751.31884043992933799348235269371
3644 + x*(-10142.804345939046062912011761365
3645 + x*(56348.913032994700349511176452028
3646 + x*(-154959.51084073542596115573524308
3647 + x*(223141.69561065901338406425875003
3648 + x*(-161157.8912743648429996019646528
3649 + 46045.111792675669428457704186514*x))))));
3650 return;
3651 case ( 38 ):
3652 grad[0]= -338.61482542853908539939775567276
3653 + (2031.6889525712345123963865340366
3654 - 2031.6889525712345123963865340366*y)*y
3655 + x*(6772.2965085707817079879551134552
3656 + y*(-40633.779051424690247927730680731
3657 + 40633.779051424690247927730680731*y)
3658 + x*(-40633.779051424690247927730680731
3659 + (243802.67430854814148756638408439
3660 - 243802.67430854814148756638408439*y)*y
3661 + x*(101584.44762856172561981932670183
3662 + y*(-609506.68577137035371891596021097
3663 + 609506.685771370353718915960211*y)
3664 + x*(-111742.89239141789818180125937201
3665 + (670457.35434850738909080755623206
3666 - 670457.3543485073890908075562321*y)*y
3667 + x*(44697.156956567159272720503748804
3668 + y*(-268182.94173940295563632302249282
3669 + 268182.94173940295563632302249282*y))))));
3670 grad[1]= -48.373546489791297914199679381823
3671 + 96.74709297958259582839935876365*y
3672 + x*(2031.6889525712345123963865340366
3673 - 4063.3779051424690247927730680731*y
3674 + x*(-20316.889525712345123963865340366
3675 + 40633.779051424690247927730680731*y
3676 + x*(81267.558102849380495855461361462
3677 - 162535.11620569876099171092272292*y
3678 + x*(-152376.67144284258842972899005274
3679 + 304753.34288568517685945798010548*y
3680 + x*(134091.47086970147781816151124641
3681 - 268182.94173940295563632302249282*y
3682 + x*(-44697.156956567159272720503748804
3683 + 89394.31391313431854544100749761*y))))));
3684 return;
3685 case ( 39 ):
3686 grad[0]= -263.24893162176366181219164922249
3687 + y*(3158.9871794611639417462997906699
3688 + y*(-7897.4679486529098543657494766747
3689 + 5264.97863243527323624383298445*y))
3690 + x*(3685.4850427046912653706830891149
3691 + y*(-44225.820512456295184448197069378
3692 + (110564.55128114073796112049267345
3693 - 73709.7008540938253074136617823*y)*y)
3694 + x*(-14741.940170818765061482732356459
3695 + y*(176903.28204982518073779278827751
3696 + y*(-442258.20512456295184448197069378
3697 + 294838.80341637530122965464712919*y))
3698 + x*(22112.910256228147592224098534689
3699 + y*(-265354.92307473777110668918241627
3700 + (663387.30768684442776672295604067
3701 - 442258.20512456295184448197069378*y)*y)
3702 + x*(-11056.455128114073796112049267345
3703 + y*(132677.46153736888555334459120813
3704 + y*(-331693.65384342221388336147802034
3705 + 221129.10256228147592224098534689*y))))));
3706 grad[1]= -105.299572648705464724876659689
3707 + (526.49786324352732362438329844498
3708 - 526.497863243527323624383298445*y)*y
3709 + x*(3158.9871794611639417462997906699
3710 + y*(-15794.935897305819708731498953349
3711 + 15794.935897305819708731498953349*y)
3712 + x*(-22112.910256228147592224098534689
3713 + (110564.55128114073796112049267345
3714 - 110564.55128114073796112049267345*y)*y
3715 + x*(58967.760683275060245930929425838
3716 + y*(-294838.80341637530122965464712919
3717 + 294838.80341637530122965464712919*y)
3718 + x*(-66338.730768684442776672295604067
3719 + (331693.65384342221388336147802034
3720 - 331693.65384342221388336147802034*y)*y
3721 + x*(26535.492307473777110668918241627
3722 + y*(-132677.46153736888555334459120813
3723 + 132677.46153736888555334459120813*y))))));
3724 return;
3725 case ( 40 ):
3726 grad[0]= -180.
3727 + y*(3600.
3728 + y*(-16200.
3729 + (25200.
3730 - 12600.*y)*y))
3731 + x*(1620.
3732 + y*(-32400.
3733 + y*(145800.
3734 + y*(-226800.
3735 + 113400.*y)))
3736 + x*(-3780.
3737 + y*(75600.
3738 + y*(-340200.
3739 + (529200.
3740 - 264600.*y)*y))
3741 + x*(2520.
3742 + y*(-50400.
3743 + y*(226800.
3744 + y*(-352800.
3745 + 176400.*y))))));
3746 grad[1]= -180.
3747 + y*(1620.
3748 + y*(-3780.
3749 + 2520.*y))
3750 + x*(3600.
3751 + y*(-32400.
3752 + (75600.
3753 - 50400.*y)*y)
3754 + x*(-16200.
3755 + y*(145800.
3756 + y*(-340200.
3757 + 226800.*y))
3758 + x*(25200.
3759 + y*(-226800.
3760 + (529200.
3761 - 352800.*y)*y)
3762 + x*(-12600.
3763 + y*(113400.
3764 + y*(-264600.
3765 + 176400.*y))))));
3766 return;
3767 case ( 41 ):
3768 grad[0]= -105.299572648705464724876659689
3769 + y*(3158.9871794611639417462997906699
3770 + y*(-22112.910256228147592224098534689
3771 + y*(58967.760683275060245930929425838
3772 + y*(-66338.730768684442776672295604067
3773 + 26535.492307473777110668918241627*y))))
3774 + x*(526.49786324352732362438329844498
3775 + y*(-15794.935897305819708731498953349
3776 + y*(110564.55128114073796112049267345
3777 + y*(-294838.80341637530122965464712919
3778 + (331693.65384342221388336147802034
3779 - 132677.46153736888555334459120813*y)*y)))
3780 + x*(-526.49786324352732362438329844498
3781 + y*(15794.935897305819708731498953349
3782 + y*(-110564.55128114073796112049267345
3783 + y*(294838.80341637530122965464712919
3784 + y*(-331693.65384342221388336147802034
3785 + 132677.46153736888555334459120813*y))))));
3786 grad[1]= -263.24893162176366181219164922249
3787 + y*(3685.4850427046912653706830891149
3788 + y*(-14741.940170818765061482732356459
3789 + (22112.910256228147592224098534689
3790 - 11056.455128114073796112049267345*y)*y))
3791 + x*(3158.9871794611639417462997906699
3792 + y*(-44225.820512456295184448197069378
3793 + y*(176903.28204982518073779278827751
3794 + y*(-265354.92307473777110668918241627
3795 + 132677.46153736888555334459120813*y)))
3796 + x*(-7897.4679486529098543657494766747
3797 + y*(110564.55128114073796112049267345
3798 + y*(-442258.20512456295184448197069378
3799 + (663387.30768684442776672295604067
3800 - 331693.65384342221388336147802034*y)*y))
3801 + x*(5264.9786324352732362438329844498
3802 + y*(-73709.700854093825307413661782297
3803 + y*(294838.80341637530122965464712919
3804 + y*(-442258.20512456295184448197069378
3805 + 221129.10256228147592224098534689*y))))));
3806 return;
3807 case ( 42 ):
3808 grad[0]= -48.373546489791297914199679381823
3809 + y*(2031.6889525712345123963865340366
3810 + y*(-20316.889525712345123963865340366
3811 + y*(81267.558102849380495855461361462
3812 + y*(-152376.67144284258842972899005274
3813 + (134091.47086970147781816151124641
3814 - 44697.156956567159272720503748804*y)*y))))
3815 + x*(96.747092979582595828399358763645
3816 + y*(-4063.3779051424690247927730680731
3817 + y*(40633.779051424690247927730680731
3818 + y*(-162535.11620569876099171092272292
3819 + y*(304753.34288568517685945798010548
3820 + y*(-268182.94173940295563632302249282
3821 + 89394.31391313431854544100749761*y))))));
3822 grad[1]= -338.61482542853908539939775567276
3823 + y*(6772.2965085707817079879551134552
3824 + y*(-40633.779051424690247927730680731
3825 + y*(101584.44762856172561981932670183
3826 + y*(-111742.89239141789818180125937201
3827 + 44697.156956567159272720503748804*y))))
3828 + x*(2031.6889525712345123963865340366
3829 + y*(-40633.779051424690247927730680731
3830 + y*(243802.67430854814148756638408439
3831 + y*(-609506.68577137035371891596021097
3832 + (670457.35434850738909080755623206
3833 - 268182.94173940295563632302249282*y)*y)))
3834 + x*(-2031.6889525712345123963865340366
3835 + y*(40633.779051424690247927730680731
3836 + y*(-243802.67430854814148756638408439
3837 + y*(609506.68577137035371891596021097
3838 + y*(-670457.35434850738909080755623206
3839 + 268182.94173940295563632302249282*y))))));
3840 return;
3841 case ( 43 ):
3842 grad[0]= -13.416407864998738178455042012388
3843 + y*(751.31884043992933799348235269371
3844 + y*(-10142.804345939046062912011761365
3845 + y*(56348.913032994700349511176452028
3846 + y*(-154959.51084073542596115573524308
3847 + y*(223141.69561065901338406425875003
3848 + y*(-161157.8912743648429996019646528
3849 + 46045.111792675669428457704186514*y))))));
3850 grad[1]= -375.65942021996466899674117634685
3851 + y*(10142.804345939046062912011761365
3852 + y*(-84523.369549492050524266764678042
3853 + y*(309919.02168147085192231147048615
3854 + y*(-557854.23902664753346016064687508
3855 + (483473.6738230945289988058939584
3856 - 161157.8912743648429996019646528*y)*y))))
3857 + x*(751.31884043992933799348235269371
3858 + y*(-20285.60869187809212582402352273
3859 + y*(169046.73909898410104853352935608
3860 + y*(-619838.04336294170384462294097231
3861 + y*(1.1157084780532950669203212937502e6
3862 + y*(-966947.3476461890579976117879168
3863 + 322315.7825487296859992039293056*y))))));
3864 return;
3865 case ( 44 ):
3866 grad[0]= 0;
3867 grad[1]= -296.86360504447155958714150963013
3868 + y*(10390.226176556504585549952837055
3869 + y*(-114292.4879421215504410494812076
3870 + y*(571462.43971060775220524740603801
3871 + y*(-1.4858023432475801557336432556988e6
3872 + y*(2.0801232805466122180271005579783e6
3873 + y*(-1.4858023432475801557336432556988e6
3874 + 424514.95521359433020961235877109*y))))));
3875 return;
3876 #endif
3877 }
3878 }
3879
3880 /* H\phi_i(x,y) for quadrilateral */
3881 static void
3882 hess_quadrilateral_2d ( const int i, DomainType xi, HessianRangeType &h )
3883 {
3884 const RangeField &x = xi[0];
3885 const RangeField &y = xi[1];
3886
3887 switch( i )
3888 {
3889 #if (PMAX2D>=0)
3890 case ( 0 ):
3891 h[0] = 0;
3892 h[1] = 0;
3893 h[2] = 0;
3894 return;
3895 #endif
3896 #if (PMAX2D>=1)
3897 case ( 1 ):
3898 h[0] = 0;
3899 h[1] = 0;
3900 h[2] = 0;
3901 return;
3902 case ( 2 ):
3903 h[0] = 0;
3904 h[1] = 0;
3905 h[2] = 0;
3906 return;
3907 #endif
3908 #if (PMAX2D>=2)
3909 case ( 3 ):
3910 h[0] = 26.832815729997476356910084024776;
3911 h[1] = 0;
3912 h[2] = 0;
3913 return;
3914 case ( 4 ):
3915 h[0] = 0;
3916 h[1] = 12.;
3917 h[2] = 0;
3918 return;
3919 case ( 5 ):
3920 h[0] = 0;
3921 h[1] = 0;
3922 h[2] = 26.832815729997476356910084024776;
3923 return;
3924 #endif
3925 #if (PMAX2D>=3)
3926 case ( 6 ):
3927 h[0] = -158.74507866387543543009694521836+317.49015732775087086019389043674*x;
3928 h[1] = 0;
3929 h[2] = 0;
3930 return;
3931 case ( 7 ):
3932 h[0] = -46.475800154489002622151184797388+92.951600308978005244302369594778*y;
3933 h[1] = -46.475800154489002622151184797389+92.951600308978005244302369594778*x;
3934 h[2] = 0;
3935 return;
3936 case ( 8 ):
3937 h[0] = 0;
3938 h[1] = -46.475800154489002622151184797389+92.951600308978005244302369594778*y;
3939 h[2] = -46.475800154489002622151184797388+92.951600308978005244302369594778*x;
3940 return;
3941 case ( 9 ):
3942 h[0] = 0;
3943 h[1] = 0;
3944 h[2] = -158.74507866387543543009694521836+317.49015732775087086019389043674*y;
3945 return;
3946 #endif
3947 #if (PMAX2D>=4)
3948 case ( 10 ):
3949 h[0] = 540.+(-2520.+2520.*x)*x;
3950 h[1] = 0;
3951 h[2] = 0;
3952 return;
3953 case ( 11 ):
3954 h[0] = 274.95454169735040039528283162368-549.90908339470080079056566324736*y+(-549.90908339470080079056566324736+1099.8181667894016015811313264947*y)*x;
3955 h[1] = 109.98181667894016015811313264947+(-549.90908339470080079056566324736+549.90908339470080079056566324736*x)*x;
3956 h[2] = 0;
3957 return;
3958 case ( 12 ):
3959 h[0] = 60.+(-360.+360.*y)*y;
3960 h[1] = -360.*y+180.+(-360.+720.*y)*x;
3961 h[2] = 60.+x*(-360.+360.*x);
3962 return;
3963 case ( 13 ):
3964 h[0] = 0;
3965 h[1] = 109.98181667894016015811313264947+(-549.90908339470080079056566324736+549.90908339470080079056566324736*y)*y;
3966 h[2] = 274.95454169735040039528283162368-549.90908339470080079056566324736*y+(-549.90908339470080079056566324736+1099.8181667894016015811313264947*y)*x;
3967 return;
3968 case ( 14 ):
3969 h[0] = 0;
3970 h[1] = 0;
3971 h[2] = 540.+(-2520.+2520.*y)*y;
3972 return;
3973 #endif
3974 #if (PMAX2D>=5)
3975 case ( 15 ):
3976 h[0] = -1392.9824119492679366282717494017+(11143.859295594143493026173995214+(-25073.683415086822859308891489230+16715.788943391215239539260992820*x)*x)*x;
3977 h[1] = 0;
3978 h[2] = 0;
3979 return;
3980 case ( 16 ):
3981 h[0] = -935.30743608719373850482102441318+1870.6148721743874770096420488264*y+(4364.7680350735707796891647805947-8729.5360701471415593783295611894*y+(-4364.7680350735707796891647805948+8729.5360701471415593783295611900*y)*x)*x;
3982 h[1] = -207.8460969082652752232935609807+(1870.6148721743874770096420488264+(-4364.7680350735707796891647805947+2909.8453567157138531261098537300*x)*x)*x;
3983 h[2] = 0;
3984 return;
3985 case ( 17 ):
3986 h[0] = -354.96478698597696255403969749370+(2129.7887219158617753242381849622-2129.7887219158617753242381849622*y)*y+(709.92957397195392510807939498738+(-4259.5774438317235506484763699243+4259.5774438317235506484763699244*y)*y)*x;
3987 h[1] = -425.95774438317235506484763699244+851.91548876634471012969527398488*y+(-4259.5774438317235506484763699244*y+2129.7887219158617753242381849622+(-2129.7887219158617753242381849622+4259.5774438317235506484763699244*y)*x)*x;
3988 h[2] = -70.99295739719539251080793949874+x*(851.91548876634471012969527398488+x*(-2129.7887219158617753242381849622+1419.8591479439078502161587899748*x));
3989 return;
3990 case ( 18 ):
3991 h[0] = -70.99295739719539251080793949874+(851.91548876634471012969527398488+(-2129.7887219158617753242381849622+1419.8591479439078502161587899748*y)*y)*y;
3992 h[1] = -425.95774438317235506484763699244+(2129.7887219158617753242381849622-2129.7887219158617753242381849622*y)*y+(851.91548876634471012969527398488+(-4259.5774438317235506484763699244+4259.5774438317235506484763699244*y)*y)*x;
3993 h[2] = -354.96478698597696255403969749370+709.92957397195392510807939498738*y+(-4259.5774438317235506484763699244*y+2129.7887219158617753242381849622+(-2129.7887219158617753242381849622+4259.5774438317235506484763699244*y)*x)*x;
3994 return;
3995 case ( 19 ):
3996 h[0] = 0;
3997 h[1] = -207.8460969082652752232935609807+(1870.6148721743874770096420488263+(-4364.7680350735707796891647805947+2909.8453567157138531261098537300*y)*y)*y;
3998 h[2] = -935.30743608719373850482102441318+(4364.7680350735707796891647805947-4364.7680350735707796891647805948*y)*y+(1870.6148721743874770096420488263+(-8729.5360701471415593783295611894+8729.5360701471415593783295611900*y)*y)*x;
3999 return;
4000 case ( 20 ):
4001 h[0] = 0;
4002 h[1] = 0;
4003 h[2] = -1392.9824119492679366282717494017+(11143.859295594143493026173995214+(-25073.683415086822859308891489230+16715.788943391215239539260992820*y)*y)*y;
4004 return;
4005 #endif
4006 #if (PMAX2D>=6)
4007 case ( 21 ):
4008 h[0] = 3028.6630713897510062201458646752+(-36343.956856677012074641750376103+(136289.83821253879527990656391038+(-199891.76271172356641052962706856+99945.881355861783205264813534280*x)*x)*x)*x;
4009 h[1] = 0;
4010 h[2] = 0;
4011 return;
4012 case ( 22 ):
4013 h[0] = 2412.716311545972037137256816652-4825.432623091944074274513633304*y+(-19301.730492367776297098054533215+38603.460984735552594196109066430*y+(43428.893607827496668470622699736-86857.787215654993336941245399472*y+(-28952.595738551664445647081799824+57905.191477103328891294163599647*y)*x)*x)*x;
4014 h[1] = 344.67375879228171959103668809314+(-4825.432623091944074274513633304+(19301.730492367776297098054533215+(-28952.595738551664445647081799824+14476.297869275832222823540899911*x)*x)*x)*x;
4015 h[2] = 0;
4016 return;
4017 case ( 23 ):
4018 h[0] = 1207.4767078498864360609537811149+(-7244.8602470993186163657226866894+7244.8602470993186163657226866894*y)*y+(-5634.8913032994700349511176452029+(33809.347819796820209706705871217-33809.347819796820209706705871218*y)*y+(5634.8913032994700349511176452028+(-33809.347819796820209706705871217+33809.347819796820209706705871217*y)*y)*x)*x;
4019 h[1] = -1609.9689437998485814146050414866*y+804.98447189992429070730252074326+(-7244.8602470993186163657226866894+14489.720494198637232731445373379*y+(-33809.347819796820209706705871218*y+16904.673909898410104853352935609+(-11269.782606598940069902235290406+22539.565213197880139804470580812*y)*x)*x)*x;
4020 h[2] = 80.498447189992429070730252074326+x*(-1609.9689437998485814146050414866+x*(7244.8602470993186163657226866894+x*(-11269.782606598940069902235290406+5634.8913032994700349511176452028*x)));
4021 return;
4022 case ( 24 ):
4023 h[0] = 420.+(-5040.+(12600.-8400.*y)*y)*y+(-840.+(10080.+(-25200.+16800.*y)*y)*y)*x;
4024 h[1] = 1008.+(-5040.+5040.*y)*y+(-5040.+(25200.-25200.*y)*y+(5040.+(-25200.+25200.*y)*y)*x)*x;
4025 h[2] = -840.*y+420.+x*(-5040.+10080.*y+x*(-25200.*y+12600.+x*(-8400.+16800.*y)));
4026 return;
4027 case ( 25 ):
4028 h[0] = 80.498447189992429070730252074326+(-1609.9689437998485814146050414865+(7244.8602470993186163657226866894+(-11269.782606598940069902235290406+5634.8913032994700349511176452028*y)*y)*y)*y;
4029 h[1] = 804.98447189992429070730252074326+(-7244.8602470993186163657226866894+(16904.673909898410104853352935609-11269.782606598940069902235290406*y)*y)*y+(-1609.9689437998485814146050414865+(14489.720494198637232731445373379+(-33809.347819796820209706705871218+22539.565213197880139804470580811*y)*y)*y)*x;
4030 h[2] = 1207.4767078498864360609537811149+(-5634.8913032994700349511176452029+5634.8913032994700349511176452028*y)*y+(-7244.8602470993186163657226866894+(33809.347819796820209706705871218-33809.347819796820209706705871218*y)*y+(7244.8602470993186163657226866894+(-33809.347819796820209706705871218+33809.347819796820209706705871218*y)*y)*x)*x;
4031 return;
4032 case ( 26 ):
4033 h[0] = 0;
4034 h[1] = 344.67375879228171959103668809314+(-4825.432623091944074274513633304+(19301.730492367776297098054533215+(-28952.595738551664445647081799824+14476.297869275832222823540899911*y)*y)*y)*y;
4035 h[2] = 2412.716311545972037137256816652+(-19301.730492367776297098054533215+(43428.893607827496668470622699736-28952.595738551664445647081799824*y)*y)*y+(-4825.432623091944074274513633304+(38603.460984735552594196109066430+(-86857.787215654993336941245399472+57905.191477103328891294163599647*y)*y)*y)*x;
4036 return;
4037 case ( 27 ):
4038 h[0] = 0;
4039 h[1] = 0;
4040 h[2] = 3028.6630713897510062201458646752+(-36343.956856677012074641750376103+(136289.83821253879527990656391038+(-199891.76271172356641052962706856+99945.881355861783205264813534280*y)*y)*y)*y;
4041 return;
4042 #endif
4043 #if (PMAX2D>=7)
4044 case ( 28 ):
4045 h[0] = -5855.9508194656143303910492844710+(97599.180324426905506517488074516+(-536795.49178434798028584618440984+(1288309.1802824351526860308425836+(-1395668.2786393047487432000794656+558267.31145572189949728003178623*x)*x)*x)*x)*x;
4046 h[1] = 0;
4047 h[2] = 0;
4048 return;
4049 case ( 29 ):
4050 h[0] = -5245.7983186546544929113902215894+10491.596637309308985822780443178*y+(62949.579823855853914936682659074-125899.15964771170782987336531815*y+(-236060.92433945945218101255997152+472121.84867891890436202511994304*y+(346222.68903120719653215175462490-692445.37806241439306430350924980*y+(-173111.34451560359826607587731245+346222.68903120719653215175462490*y)*x)*x)*x)*x;
4051 h[1] = -524.5798318654654492911390221589+(10491.596637309308985822780443178+(-62949.579823855853914936682659074+(157373.94955963963478734170664768+(-173111.34451560359826607587731245+69244.537806241439306430350924982*x)*x)*x)*x)*x;
4052 h[2] = 0;
4053 return;
4054 case ( 30 ):
4055 h[0] = -3114.8033645801784384587869251362+(18688.820187481070630752721550818-18688.820187481070630752721550818*y)*y+(24918.426916641427507670295401091+(-149510.56149984856504602177240654+149510.56149984856504602177240654*y)*y+(-56066.460562443211892258164652454+(336398.76337465927135354898791472-336398.76337465927135354898791472*y)*y+(37377.640374962141261505443101637+(-224265.84224977284756903265860982+224265.84224977284756903265860982*y)*y)*x)*x)*x;
4056 h[1] = -1334.9157276772193307680515393441+2669.8314553544386615361030786882*y+(-37377.640374962141261505443101636*y+18688.820187481070630752721550818+(-74755.28074992428252301088620327+149510.56149984856504602177240654*y+(-224265.84224977284756903265860981*y+112132.92112488642378451632930491+(-56066.460562443211892258164652455+112132.92112488642378451632930491*y)*x)*x)*x)*x;
4057 h[2] = -88.994381845147955384536769289608+x*(2669.8314553544386615361030786882+x*(-18688.820187481070630752721550818+x*(49836.85383328285501534059080218+x*(-56066.460562443211892258164652454+22426.584224977284756903265860982*x))));
4058 return;
4059 case ( 31 ):
4060 h[0] = -1428.7057079748789188708725069652+(17144.468495698547026450470083582+(-42861.171239246367566126175208956+28574.114159497578377417450139304*y)*y)*y+(6667.2933038827682880640716991710+(-80007.519646593219456768860390052+(200018.79911648304864192215097513-133345.86607765536576128143398342*y)*y)*y+(-6667.2933038827682880640716991710+(80007.519646593219456768860390051+(-200018.79911648304864192215097512+133345.86607765536576128143398342*y)*y)*y)*x)*x;
4061 h[1] = -1904.9409439665052251611633426203+(9524.7047198325261258058167131014-9524.7047198325261258058167131013*y)*y+(17144.468495698547026450470083582+(-85722.342478492735132252350417912+85722.342478492735132252350417912*y)*y+(-40003.759823296609728384430195026+(200018.79911648304864192215097512-200018.79911648304864192215097513*y)*y+(26669.173215531073152256286796684+(-133345.86607765536576128143398342+133345.86607765536576128143398342*y)*y)*x)*x)*x;
4062 h[2] = -476.23523599162630629029083565506+952.47047198325261258058167131016*y+x*(-19049.409439665052251611633426202*y+9524.7047198325261258058167131014+x*(-42861.171239246367566126175208956+85722.342478492735132252350417912*y+x*(-133345.86607765536576128143398342*y+66672.933038827682880640716991710+x*(-33336.466519413841440320358495854+66672.933038827682880640716991710*y))));
4063 return;
4064 case ( 32 ):
4065 h[0] = -476.23523599162630629029083565506+(9524.7047198325261258058167131014+(-42861.171239246367566126175208956+(66672.933038827682880640716991710-33336.466519413841440320358495854*y)*y)*y)*y+(952.47047198325261258058167131016+(-19049.409439665052251611633426203+(85722.342478492735132252350417912+(-133345.86607765536576128143398342+66672.933038827682880640716991710*y)*y)*y)*y)*x;
4066 h[1] = -1904.9409439665052251611633426203+(17144.468495698547026450470083582+(-40003.759823296609728384430195026+26669.173215531073152256286796684*y)*y)*y+(9524.7047198325261258058167131014+(-85722.342478492735132252350417912+(200018.79911648304864192215097513-133345.86607765536576128143398341*y)*y)*y+(-9524.7047198325261258058167131013+(85722.342478492735132252350417912+(-200018.79911648304864192215097513+133345.86607765536576128143398342*y)*y)*y)*x)*x;
4067 h[2] = -1428.7057079748789188708725069652+(6667.2933038827682880640716991710-6667.2933038827682880640716991704*y)*y+(17144.468495698547026450470083582+(-80007.519646593219456768860390052+80007.519646593219456768860390052*y)*y+(-42861.171239246367566126175208956+(200018.79911648304864192215097513-200018.79911648304864192215097512*y)*y+(28574.114159497578377417450139304+(-133345.86607765536576128143398342+133345.86607765536576128143398342*y)*y)*x)*x)*x;
4068 return;
4069 case ( 33 ):
4070 h[0] = -88.994381845147955384536769289608+(2669.8314553544386615361030786882+(-18688.820187481070630752721550818+(49836.85383328285501534059080218+(-56066.460562443211892258164652454+22426.584224977284756903265860982*y)*y)*y)*y)*y;
4071 h[1] = -1334.9157276772193307680515393441+(18688.820187481070630752721550818+(-74755.28074992428252301088620327+(112132.92112488642378451632930491-56066.460562443211892258164652455*y)*y)*y)*y+(2669.8314553544386615361030786882+(-37377.640374962141261505443101636+(149510.56149984856504602177240654+(-224265.84224977284756903265860981+112132.92112488642378451632930491*y)*y)*y)*y)*x;
4072 h[2] = -3114.8033645801784384587869251362+(24918.426916641427507670295401091+(-56066.460562443211892258164652454+37377.640374962141261505443101637*y)*y)*y+(18688.820187481070630752721550818+(-149510.56149984856504602177240654+(336398.76337465927135354898791472-224265.84224977284756903265860982*y)*y)*y+(-18688.820187481070630752721550818+(149510.56149984856504602177240654+(-336398.76337465927135354898791472+224265.84224977284756903265860982*y)*y)*y)*x)*x;
4073 return;
4074 case ( 34 ):
4075 h[0] = 0;
4076 h[1] = -524.57983186546544929113902215894+(10491.596637309308985822780443179+(-62949.579823855853914936682659074+(157373.94955963963478734170664768+(-173111.34451560359826607587731245+69244.537806241439306430350924982*y)*y)*y)*y)*y;
4077 h[2] = -5245.7983186546544929113902215894+(62949.579823855853914936682659074+(-236060.92433945945218101255997152+(346222.68903120719653215175462490-173111.34451560359826607587731244*y)*y)*y)*y+(10491.596637309308985822780443179+(-125899.15964771170782987336531815+(472121.84867891890436202511994304+(-692445.37806241439306430350924980+346222.68903120719653215175462491*y)*y)*y)*y)*x;
4078 return;
4079 case ( 35 ):
4080 h[0] = 0;
4081 h[1] = 0;
4082 h[2] = -5855.9508194656143303910492844710+(97599.180324426905506517488074516+(-536795.49178434798028584618440984+(1288309.1802824351526860308425836+(-1395668.2786393047487432000794656+558267.31145572189949728003178623*y)*y)*y)*y)*y;
4083 return;
4084 #endif
4085 #if (PMAX2D>=8)
4086 case ( 36 ):
4087 h[0] = 10390.226176556504585549952837055+(-228584.9758842431008820989624152+(1714387.3191318232566157422181140+(-5943209.3729903206229345730227951+(10400616.402733061090135502789892+(-8914814.0594854809344018595341932+2971604.6864951603114672865113979*x)*x)*x)*x)*x)*x;
4088 h[1] = 0;
4089 h[2] = 0;
4090 return;
4091 case ( 37 ):
4092 h[0] = 10142.804345939046062912011761365-20285.608691878092125824023522730*y+(-169046.73909898410104853352935609+338093.47819796820209706705871218*y+(929757.06504441255576693441145848-1859514.1300888251115338688229170*y+(-2231416.9561065901338406425875003+4462833.9122131802676812851750007*y+(2417368.3691154726449940294697920-4834736.7382309452899880589395840*y+(-966947.34764618905799761178791677+1933894.6952923781159952235758335*y)*x)*x)*x)*x)*x;
4093 h[1] = 751.3188404399293379934823526937+(-20285.608691878092125824023522730+(169046.73909898410104853352935609+(-619838.04336294170384462294097232+(1115708.4780532950669203212937502+(-966947.3476461890579976117879168+322315.78254872968599920392930558*x)*x)*x)*x)*x)*x;
4094 h[2] = 0;
4095 return;
4096 case ( 38 ):
4097 h[0] = 6772.2965085707817079879551134552+(-40633.779051424690247927730680732+40633.779051424690247927730680732*y)*y+(-81267.55810284938049585546136146+(487605.34861709628297513276816877-487605.34861709628297513276816876*y)*y+(304753.34288568517685945798010548+(-1828520.0573141110611567478806329+1828520.0573141110611567478806329*y)*y+(-446971.56956567159272720503748803+(2681829.4173940295563632302249282-2681829.4173940295563632302249282*y)*y+(223485.78478283579636360251874402+(-1340914.7086970147781816151124641+1340914.7086970147781816151124641*y)*y)*x)*x)*x)*x;
4098 h[1] = -4063.3779051424690247927730680732*y+2031.6889525712345123963865340366+(-40633.779051424690247927730680732+81267.558102849380495855461361464*y+(-487605.34861709628297513276816876*y+243802.67430854814148756638408438+(-609506.68577137035371891596021096+1219013.3715427407074378319204219*y+(-1340914.7086970147781816151124641*y+670457.35434850738909080755623205+(-268182.94173940295563632302249281+536365.88347880591127264604498566*y)*x)*x)*x)*x)*x;
4099 h[2] = 96.747092979582595828399358763646+x*(-4063.3779051424690247927730680732+x*(40633.779051424690247927730680732+x*(-162535.11620569876099171092272292+x*(304753.34288568517685945798010548+x*(-268182.94173940295563632302249282+89394.313913134318545441007497608*x)))));
4100 return;
4101 case ( 39 ):
4102 h[0] = 3685.4850427046912653706830891148+(-44225.820512456295184448197069378+(110564.55128114073796112049267345-73709.700854093825307413661782298*y)*y)*y+(-29483.880341637530122965464712918+(353806.56409965036147558557655503+(-884516.41024912590368896394138754+589677.60683275060245930929425836*y)*y)*y+(66338.730768684442776672295604070+(-796064.76922421331332006754724880+(1990161.9230605332833001688681220-1326774.6153736888555334459120814*y)*y)*y+(-44225.820512456295184448197069377+(530709.84614947554221337836483254+(-1326774.6153736888555334459120813+884516.41024912590368896394138756*y)*y)*y)*x)*x)*x;
4103 h[1] = 3158.9871794611639417462997906699+(-15794.935897305819708731498953349+15794.93589730581970873149895335*y)*y+(-44225.820512456295184448197069378+(221129.10256228147592224098534690-221129.10256228147592224098534690*y)*y+(176903.28204982518073779278827752+(-884516.41024912590368896394138754+884516.41024912590368896394138754*y)*y+(-265354.92307473777110668918241627+(1326774.6153736888555334459120814-1326774.6153736888555334459120814*y)*y+(132677.46153736888555334459120814+(-663387.30768684442776672295604068+663387.30768684442776672295604067*y)*y)*x)*x)*x)*x;
4104 h[2] = -1052.9957264870546472487665968900*y+526.49786324352732362438329844498+x*(-15794.935897305819708731498953349+31589.87179461163941746299790670*y+x*(-221129.10256228147592224098534690*y+110564.55128114073796112049267345+x*(-294838.80341637530122965464712918+589677.60683275060245930929425836*y+x*(-663387.30768684442776672295604070*y+331693.65384342221388336147802034+x*(-132677.46153736888555334459120813+265354.92307473777110668918241627*y)))));
4105 return;
4106 case ( 40 ):
4107 h[0] = 1620.+(-32400.+(145800.+(-226800.+113400.*y)*y)*y)*y+(-7560.+(151200.+(-680400.+(1058400.-529200.*y)*y)*y)*y+(7560.+(-151200.+(680400.+(-1058400.+529200.*y)*y)*y)*y)*x)*x;
4108 h[1] = 3600.+(-32400.+(75600.-50400.*y)*y)*y+(-32400.+(291600.+(-680400.+453600.*y)*y)*y+(75600.+(-680400.+(1587600.-1058400.*y)*y)*y+(-50400.+(453600.+(-1058400.+705600.*y)*y)*y)*x)*x)*x;
4109 h[2] = 1620.+(-7560.+7560.*y)*y+(-32400.+(151200.-151200.*y)*y+(145800.+(-680400.+680400.*y)*y+(-226800.+(1058400.-1058400.*y)*y+(113400.+(-529200.+529200.*y)*y)*x)*x)*x)*x;
4110 return;
4111 case ( 41 ):
4112 h[0] = 526.49786324352732362438329844498+(-15794.935897305819708731498953349+(110564.55128114073796112049267345+(-294838.80341637530122965464712918+(331693.65384342221388336147802034-132677.46153736888555334459120814*y)*y)*y)*y)*y+(-1052.9957264870546472487665968900+(31589.871794611639417462997906699+(-221129.10256228147592224098534689+(589677.60683275060245930929425838+(-663387.30768684442776672295604070+265354.92307473777110668918241627*y)*y)*y)*y)*y)*x;
4113 h[1] = 3158.9871794611639417462997906699+(-44225.820512456295184448197069378+(176903.28204982518073779278827752+(-265354.92307473777110668918241627+132677.46153736888555334459120814*y)*y)*y)*y+(-15794.935897305819708731498953349+(221129.10256228147592224098534690+(-884516.41024912590368896394138754+(1326774.6153736888555334459120814-663387.30768684442776672295604070*y)*y)*y)*y+(15794.935897305819708731498953350+(-221129.10256228147592224098534690+(884516.41024912590368896394138758+(-1326774.6153736888555334459120814+663387.30768684442776672295604066*y)*y)*y)*y)*x)*x;
4114 h[2] = 3685.4850427046912653706830891148+(-29483.880341637530122965464712918+(66338.730768684442776672295604070-44225.820512456295184448197069377*y)*y)*y+(-44225.820512456295184448197069378+(353806.56409965036147558557655504+(-796064.76922421331332006754724878+530709.84614947554221337836483253*y)*y)*y+(110564.55128114073796112049267345+(-884516.41024912590368896394138754+(1990161.9230605332833001688681220-1326774.6153736888555334459120814*y)*y)*y+(-73709.700854093825307413661782298+(589677.60683275060245930929425839+(-1326774.6153736888555334459120814+884516.41024912590368896394138756*y)*y)*y)*x)*x)*x;
4115 return;
4116 case ( 42 ):
4117 h[0] = 96.747092979582595828399358763646+(-4063.3779051424690247927730680732+(40633.779051424690247927730680732+(-162535.11620569876099171092272292+(304753.34288568517685945798010548+(-268182.94173940295563632302249282+89394.313913134318545441007497608*y)*y)*y)*y)*y)*y;
4118 h[1] = 2031.6889525712345123963865340366+(-40633.779051424690247927730680732+(243802.67430854814148756638408438+(-609506.68577137035371891596021096+(670457.35434850738909080755623205-268182.94173940295563632302249281*y)*y)*y)*y)*y+(-4063.3779051424690247927730680732+(81267.558102849380495855461361464+(-487605.34861709628297513276816876+(1219013.3715427407074378319204219+(-1340914.7086970147781816151124641+536365.88347880591127264604498563*y)*y)*y)*y)*y)*x;
4119 h[2] = 6772.2965085707817079879551134552+(-81267.55810284938049585546136146+(304753.34288568517685945798010548+(-446971.56956567159272720503748803+223485.78478283579636360251874403*y)*y)*y)*y+(-40633.779051424690247927730680732+(487605.34861709628297513276816876+(-1828520.0573141110611567478806329+(2681829.4173940295563632302249282-1340914.7086970147781816151124641*y)*y)*y)*y+(40633.779051424690247927730680732+(-487605.34861709628297513276816876+(1828520.0573141110611567478806329+(-2681829.4173940295563632302249282+1340914.7086970147781816151124641*y)*y)*y)*y)*x)*x;
4120 return;
4121 case ( 43 ):
4122 h[0] = 0;
4123 h[1] = 751.31884043992933799348235269371+(-20285.608691878092125824023522730+(169046.73909898410104853352935609+(-619838.04336294170384462294097232+(1115708.4780532950669203212937502+(-966947.3476461890579976117879168+322315.78254872968599920392930558*y)*y)*y)*y)*y)*y;
4124 h[2] = 10142.804345939046062912011761365+(-169046.73909898410104853352935609+(929757.06504441255576693441145848+(-2231416.9561065901338406425875003+(2417368.3691154726449940294697920-966947.34764618905799761178791677*y)*y)*y)*y)*y+(-20285.608691878092125824023522730+(338093.47819796820209706705871218+(-1859514.1300888251115338688229169+(4462833.9122131802676812851750007+(-4834736.7382309452899880589395840+1933894.6952923781159952235758336*y)*y)*y)*y)*y)*x;
4125 return;
4126 case ( 44 ):
4127 h[0] = 0;
4128 h[1] = 0;
4129 h[2] = 10390.226176556504585549952837055+(-228584.9758842431008820989624152+(1714387.3191318232566157422181140+(-5943209.3729903206229345730227951+(10400616.402733061090135502789892+(-8914814.0594854809344018595341932+2971604.6864951603114672865113979*y)*y)*y)*y)*y)*y;
4130 return;
4131 #endif
4132 }
4133 printf( "Error in hess_quadrilateral_2d -- unmatched switch/case %d\n", i );
4134 }
4135
4136 }; // end class OrthonormalBase_2D
4137 } // end namespace Fem
4138
4139} // end namespace Dune
4140#endif
Definition: bindguard.hh:11
Definition: orthonormalbase_2d.hh:17
static void grad_quadrilateral_2d(const int i, DomainType xi, JacobianRangeType grad)
Definition: orthonormalbase_2d.hh:3084
static RangeField eval_quadrilateral_2d(const int i, DomainType xi)
Definition: orthonormalbase_2d.hh:2511
static void grad_triangle_2d(const int i, DomainType xi, JacobianRangeType grad)
Definition: orthonormalbase_2d.hh:927
static void hess_quadrilateral_2d(const int i, DomainType xi, HessianRangeType &h)
Definition: orthonormalbase_2d.hh:3882
static void hess_triangle_2d(const int i, DomainType xi, HessianRangeType &h)
Definition: orthonormalbase_2d.hh:2256
static RangeField eval_triangle_2d(const int i, DomainType xi)
Definition: orthonormalbase_2d.hh:25