/[escript]/branches/intelc_win32/escript/test/python/test_util_spatial_functions.py
ViewVC logotype

Diff of /branches/intelc_win32/escript/test/python/test_util_spatial_functions.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 438 by gross, Fri Jan 20 00:39:00 2006 UTC revision 614 by elspeth, Wed Mar 22 01:37:07 2006 UTC
# Line 7  it is assumed that the domain is the usi Line 7  it is assumed that the domain is the usi
7  not all these test will run for all domains. check the doc string for the assumptions of a particular test  not all these test will run for all domains. check the doc string for the assumptions of a particular test
8    
9  @var __author__: name of author  @var __author__: name of author
10  @var __licence__: licence agreement  @var __license__: licence agreement
11  @var __url__: url entry point on documentation  @var __url__: url entry point on documentation
12  @var __version__: version  @var __version__: version
13  @var __date__: date of the version  @var __date__: date of the version
14  """  """
15  __author__="Lutz Gross, l.gross@uq.edu.au"  __author__="Lutz Gross, l.gross@uq.edu.au"
16  __licence__="contact: esys@access.uq.edu.au"  __copyright__="""  Copyright (c) 2006 by ACcESS MNRF
17                        http://www.access.edu.au
18                    Primary Business: Queensland, Australia"""
19    __license__="""Licensed under the Open Software License version 3.0
20                 http://www.opensource.org/licenses/osl-3.0.php"""
21  __url__="http://www.iservo.edu.au/esys/escript"  __url__="http://www.iservo.edu.au/esys/escript"
22  __version__="$Revision$"  __version__="$Revision$"
23  __date__="$Date$"  __date__="$Date$"
# Line 24  from numarray import array Line 28  from numarray import array
28    
29  class Test_Util_SpatialFunctions(unittest.TestCase):  class Test_Util_SpatialFunctions(unittest.TestCase):
30     RES_TOL=1.e-8     RES_TOL=1.e-8
31       def test_x_ofDomain(self):
32         """
33         test getX() of the domain to be in the [0,1]^dim box
34         """
35         dim=self.domain.getDim()
36         x=self.domain.getX()
37         self.failUnlessEqual(x.getShape(),(dim,),"wrong shape of result.")
38         self.failUnlessAlmostEqual(inf(x[0]),0.,int(-log10(self.RES_TOL)),"min x0 wrong")
39         self.failUnlessAlmostEqual(sup(x[0]),1.,int(-log10(self.RES_TOL)),"max x0 wrong")
40         self.failUnlessAlmostEqual(inf(x[1]),0.,int(-log10(self.RES_TOL)),"min x1 wrong")
41         self.failUnlessAlmostEqual(sup(x[1]),1.,int(-log10(self.RES_TOL)),"max x1 wrong")
42         if dim>2:
43           self.failUnlessAlmostEqual(inf(x[2]),0.,int(-log10(self.RES_TOL)),"min x2 wrong")
44           self.failUnlessAlmostEqual(sup(x[2]),1.,int(-log10(self.RES_TOL)),"max x2 wrong")
45    
46       def test_normal_FunctionOnBoundary(self):
47         """
48         test getNormal() on boundary
49    
50         assumptions: FunctionOnBoundary(self.domain) exists
51         """
52         dim=self.domain.getDim()
53         f=FunctionOnBoundary(self.domain)
54         x=f.getX()
55         ref=Vector(0.,what=f)
56         if dim==3:
57             ref+=whereZero(x[0]-1.,tol=self.RES_TOL)*[1,0,0]
58             ref+=whereZero(x[0],tol=self.RES_TOL)*[-1,0,0]
59             ref+=whereZero(x[1]-1.,tol=self.RES_TOL)*[0,1,0]
60             ref+=whereZero(x[1],tol=self.RES_TOL)*[0,-1,0]
61             ref+=whereZero(x[2]-1.,tol=self.RES_TOL)*[0,0,1]
62             ref+=whereZero(x[2],tol=self.RES_TOL)*[0,0,-1]
63         else:
64             ref+=whereZero(x[0]-1.,tol=self.RES_TOL)*[1,0]
65             ref+=whereZero(x[0],tol=self.RES_TOL)*[-1,0]
66             ref+=whereZero(x[1]-1.,tol=self.RES_TOL)*[0,1]
67             ref+=whereZero(x[1],tol=self.RES_TOL)*[0,-1]
68    
69         res=f.getNormal()
70         self.failUnlessEqual(res.getShape(),(dim,),"wrong shape of result.")
71         self.failUnlessEqual(res.getFunctionSpace(),f,"wrong functionspace of result.")
72         self.failUnless(Lsup(ref-res)<=self.RES_TOL,"wrong result")
73    
74       def test_normal_onFunctionOnContactZero(self):
75         """
76         test getNormal() on cotact side 0
77    
78         assumptions: FunctionOnContactZero(self.domain) exists
79         """
80         dim=self.domain.getDim()
81         f=FunctionOnContactZero(self.domain)
82         x=f.getX()
83         ref=Vector(0.,what=f)
84         if dim==3:
85             ref+=whereZero(x[0]-0.5,tol=self.RES_TOL)*[1,0,0]
86         else:
87             ref+=whereZero(x[0]-0.5,tol=self.RES_TOL)*[1,0]
88    
89         res=f.getNormal()
90         self.failUnlessEqual(res.getShape(),(dim,),"wrong shape of result.")
91         self.failUnlessEqual(res.getFunctionSpace(),f,"wrong functionspace of result.")
92         self.failUnless(Lsup(ref-res)<=self.RES_TOL,"wrong result")
93    
94       def test_normal_onFunctionOnContactOne(self):
95         """
96         test getNormal() on cotact side 1
97    
98         assumptions: FunctionOnContactOne(self.domain) exists
99         """
100         dim=self.domain.getDim()
101         f=FunctionOnContactOne(self.domain)
102         x=f.getX()
103         ref=Vector(0.,what=f)
104         if dim==3:
105             ref+=whereZero(x[0]-0.5,tol=self.RES_TOL)*[-1,0,0]
106         else:
107             ref+=whereZero(x[0]-0.5,tol=self.RES_TOL)*[-1,0]
108    
109         res=f.getNormal()
110         self.failUnlessEqual(res.getShape(),(dim,),"wrong shape of result.")
111         self.failUnlessEqual(res.getFunctionSpace(),f,"wrong functionspace of result.")
112         self.failUnless(Lsup(ref-res)<=self.RES_TOL,"wrong result")
113     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++     #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
114     def test_integrate_onFunction_fromData_ContinuousFunction_rank0(self):     def test_integrate_onFunction_fromData_ContinuousFunction_rank0(self):
115        """        """
# Line 34976  class Test_Util_SpatialFunctions(unittes Line 35062  class Test_Util_SpatialFunctions(unittes
35062        self.failUnless(isinstance(res,Symbol),"wrong type of result.")        self.failUnless(isinstance(res,Symbol),"wrong type of result.")
35063        self.failUnlessEqual(res.getShape(),(6, 2, 2)+(dim,),"wrong shape of result.")        self.failUnlessEqual(res.getShape(),(6, 2, 2)+(dim,),"wrong shape of result.")
35064        self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35065       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35066       def test_interpolate_onFunction_fromData_ContinuousFunction_rank0(self):
35067          """
35068          tests interpolate for rank 0 Data onto the Function
35069    
35070          assumptions: self.domain supports inpterpolation from ContinuousFunction onto Function
35071          """
35072          o=self.order
35073          dim=self.domain.getDim()
35074          w_ref=Function(self.domain)
35075          x_ref=w_ref.getX()
35076          w=ContinuousFunction(self.domain)
35077          x=w.getX()
35078          arg=Data(0,(),w)
35079          ref=Data(0,(),w_ref)
35080          if dim==2:
35081            arg=(-0.350515208335)*x[0]**o+(-0.604596801095)*x[0]+(0.145267491062)*x[1]**o+(-0.422271555369)*x[1]
35082            ref=(-0.350515208335)*x_ref[0]**o+(-0.604596801095)*x_ref[0]+(0.145267491062)*x_ref[1]**o+(-0.422271555369)*x_ref[1]
35083          else:
35084            arg=(-0.162304501731)*x[0]**o+(0.342262454165)*x[0]+(0.693988751897)*x[1]**o+(-0.315225717754)*x[1]+(-0.938405302425)*x[2]**o+(-0.0929881908885)*x[2]
35085            ref=(-0.162304501731)*x_ref[0]**o+(0.342262454165)*x_ref[0]+(0.693988751897)*x_ref[1]**o+(-0.315225717754)*x_ref[1]+(-0.938405302425)*x_ref[2]**o+(-0.0929881908885)*x_ref[2]
35086          res=interpolate(arg,where=w_ref)
35087          self.failUnless(isinstance(res,Data),"wrong type of result.")
35088          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35089          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
35090          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35091       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35092       def test_interpolate_onFunction_fromData_ContinuousFunction_rank1(self):
35093          """
35094          tests interpolate for rank 1 Data onto the Function
35095    
35096          assumptions: self.domain supports inpterpolation from ContinuousFunction onto Function
35097          """
35098          o=self.order
35099          dim=self.domain.getDim()
35100          w_ref=Function(self.domain)
35101          x_ref=w_ref.getX()
35102          w=ContinuousFunction(self.domain)
35103          x=w.getX()
35104          arg=Data(0,(2,),w)
35105          ref=Data(0,(2,),w_ref)
35106          if dim==2:
35107            arg[0]=(0.104854565192)*x[0]**o+(-0.596688162793)*x[0]+(-0.0286471957779)*x[1]**o+(-0.157282508059)*x[1]
35108            arg[1]=(0.619817759027)*x[0]**o+(-0.832815965127)*x[0]+(-0.638126497014)*x[1]**o+(0.771271149341)*x[1]
35109            ref[0]=(0.104854565192)*x_ref[0]**o+(-0.596688162793)*x_ref[0]+(-0.0286471957779)*x_ref[1]**o+(-0.157282508059)*x_ref[1]
35110            ref[1]=(0.619817759027)*x_ref[0]**o+(-0.832815965127)*x_ref[0]+(-0.638126497014)*x_ref[1]**o+(0.771271149341)*x_ref[1]
35111          else:
35112            arg[0]=(-0.358142932888)*x[0]**o+(0.758685606027)*x[0]+(-0.0716050574096)*x[1]**o+(-0.723587074286)*x[1]+(0.387240173671)*x[2]**o+(0.544679811421)*x[2]
35113            arg[1]=(0.864154242034)*x[0]**o+(-0.0740598679188)*x[0]+(-0.0865611132887)*x[1]**o+(0.0414815431481)*x[1]+(-0.897395775334)*x[2]**o+(-0.580401889318)*x[2]
35114            ref[0]=(-0.358142932888)*x_ref[0]**o+(0.758685606027)*x_ref[0]+(-0.0716050574096)*x_ref[1]**o+(-0.723587074286)*x_ref[1]+(0.387240173671)*x_ref[2]**o+(0.544679811421)*x_ref[2]
35115            ref[1]=(0.864154242034)*x_ref[0]**o+(-0.0740598679188)*x_ref[0]+(-0.0865611132887)*x_ref[1]**o+(0.0414815431481)*x_ref[1]+(-0.897395775334)*x_ref[2]**o+(-0.580401889318)*x_ref[2]
35116          res=interpolate(arg,where=w_ref)
35117          self.failUnless(isinstance(res,Data),"wrong type of result.")
35118          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35119          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
35120          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35121       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35122       def test_interpolate_onFunction_fromData_ContinuousFunction_rank2(self):
35123          """
35124          tests interpolate for rank 2 Data onto the Function
35125    
35126          assumptions: self.domain supports inpterpolation from ContinuousFunction onto Function
35127          """
35128          o=self.order
35129          dim=self.domain.getDim()
35130          w_ref=Function(self.domain)
35131          x_ref=w_ref.getX()
35132          w=ContinuousFunction(self.domain)
35133          x=w.getX()
35134          arg=Data(0,(4, 5),w)
35135          ref=Data(0,(4, 5),w_ref)
35136          if dim==2:
35137            arg[0,0]=(-0.0571385613076)*x[0]**o+(-0.296048600622)*x[0]+(0.300914212927)*x[1]**o+(0.81578919689)*x[1]
35138            arg[0,1]=(0.136796732287)*x[0]**o+(0.169384864236)*x[0]+(-0.874585047899)*x[1]**o+(-0.67613629157)*x[1]
35139            arg[0,2]=(-0.947048556597)*x[0]**o+(-0.807647782941)*x[0]+(-0.53233790031)*x[1]**o+(0.618861393596)*x[1]
35140            arg[0,3]=(-0.533009370674)*x[0]**o+(-0.732258917532)*x[0]+(0.735058784793)*x[1]**o+(0.313284184128)*x[1]
35141            arg[0,4]=(0.678291805831)*x[0]**o+(0.892272189132)*x[0]+(-0.902740106267)*x[1]**o+(0.902593764933)*x[1]
35142            arg[1,0]=(0.101446968367)*x[0]**o+(0.758270058166)*x[0]+(-0.511416064913)*x[1]**o+(-0.464147847068)*x[1]
35143            arg[1,1]=(-0.0131419066862)*x[0]**o+(-0.942460391354)*x[0]+(0.479955107486)*x[1]**o+(-0.311304181244)*x[1]
35144            arg[1,2]=(0.623958732361)*x[0]**o+(-0.313196338837)*x[0]+(0.413428996617)*x[1]**o+(0.348327566672)*x[1]
35145            arg[1,3]=(-0.8413636876)*x[0]**o+(-0.572573098032)*x[0]+(-0.678663954356)*x[1]**o+(-0.419716403314)*x[1]
35146            arg[1,4]=(-0.580466216486)*x[0]**o+(0.384226238557)*x[0]+(-0.732722613215)*x[1]**o+(-0.0238970013828)*x[1]
35147            arg[2,0]=(-0.248986933717)*x[0]**o+(0.264019654506)*x[0]+(0.0314811616292)*x[1]**o+(0.631481081422)*x[1]
35148            arg[2,1]=(0.643576426484)*x[0]**o+(-0.313599735242)*x[0]+(0.908780876791)*x[1]**o+(-0.698972268201)*x[1]
35149            arg[2,2]=(-0.623208321993)*x[0]**o+(0.649637800083)*x[0]+(-0.878484988208)*x[1]**o+(0.368793479691)*x[1]
35150            arg[2,3]=(0.239333407828)*x[0]**o+(-0.293558915555)*x[0]+(0.271630238733)*x[1]**o+(0.741304510722)*x[1]
35151            arg[2,4]=(0.175914942104)*x[0]**o+(0.336116863935)*x[0]+(-0.799168065807)*x[1]**o+(0.0264962830729)*x[1]
35152            arg[3,0]=(0.777665875019)*x[0]**o+(-0.13232137001)*x[0]+(0.682046389381)*x[1]**o+(0.589069623109)*x[1]
35153            arg[3,1]=(0.7607621575)*x[0]**o+(-0.81285460551)*x[0]+(0.0523010659976)*x[1]**o+(-0.913765717778)*x[1]
35154            arg[3,2]=(0.822107753118)*x[0]**o+(0.508869893322)*x[0]+(0.679583348422)*x[1]**o+(-0.597814039932)*x[1]
35155            arg[3,3]=(-0.77699176705)*x[0]**o+(-0.267758166676)*x[0]+(0.661073127871)*x[1]**o+(-0.41434545147)*x[1]
35156            arg[3,4]=(0.223013380161)*x[0]**o+(-0.558077040245)*x[0]+(-0.450831764747)*x[1]**o+(-0.0897765635191)*x[1]
35157            ref[0,0]=(-0.0571385613076)*x_ref[0]**o+(-0.296048600622)*x_ref[0]+(0.300914212927)*x_ref[1]**o+(0.81578919689)*x_ref[1]
35158            ref[0,1]=(0.136796732287)*x_ref[0]**o+(0.169384864236)*x_ref[0]+(-0.874585047899)*x_ref[1]**o+(-0.67613629157)*x_ref[1]
35159            ref[0,2]=(-0.947048556597)*x_ref[0]**o+(-0.807647782941)*x_ref[0]+(-0.53233790031)*x_ref[1]**o+(0.618861393596)*x_ref[1]
35160            ref[0,3]=(-0.533009370674)*x_ref[0]**o+(-0.732258917532)*x_ref[0]+(0.735058784793)*x_ref[1]**o+(0.313284184128)*x_ref[1]
35161            ref[0,4]=(0.678291805831)*x_ref[0]**o+(0.892272189132)*x_ref[0]+(-0.902740106267)*x_ref[1]**o+(0.902593764933)*x_ref[1]
35162            ref[1,0]=(0.101446968367)*x_ref[0]**o+(0.758270058166)*x_ref[0]+(-0.511416064913)*x_ref[1]**o+(-0.464147847068)*x_ref[1]
35163            ref[1,1]=(-0.0131419066862)*x_ref[0]**o+(-0.942460391354)*x_ref[0]+(0.479955107486)*x_ref[1]**o+(-0.311304181244)*x_ref[1]
35164            ref[1,2]=(0.623958732361)*x_ref[0]**o+(-0.313196338837)*x_ref[0]+(0.413428996617)*x_ref[1]**o+(0.348327566672)*x_ref[1]
35165            ref[1,3]=(-0.8413636876)*x_ref[0]**o+(-0.572573098032)*x_ref[0]+(-0.678663954356)*x_ref[1]**o+(-0.419716403314)*x_ref[1]
35166            ref[1,4]=(-0.580466216486)*x_ref[0]**o+(0.384226238557)*x_ref[0]+(-0.732722613215)*x_ref[1]**o+(-0.0238970013828)*x_ref[1]
35167            ref[2,0]=(-0.248986933717)*x_ref[0]**o+(0.264019654506)*x_ref[0]+(0.0314811616292)*x_ref[1]**o+(0.631481081422)*x_ref[1]
35168            ref[2,1]=(0.643576426484)*x_ref[0]**o+(-0.313599735242)*x_ref[0]+(0.908780876791)*x_ref[1]**o+(-0.698972268201)*x_ref[1]
35169            ref[2,2]=(-0.623208321993)*x_ref[0]**o+(0.649637800083)*x_ref[0]+(-0.878484988208)*x_ref[1]**o+(0.368793479691)*x_ref[1]
35170            ref[2,3]=(0.239333407828)*x_ref[0]**o+(-0.293558915555)*x_ref[0]+(0.271630238733)*x_ref[1]**o+(0.741304510722)*x_ref[1]
35171            ref[2,4]=(0.175914942104)*x_ref[0]**o+(0.336116863935)*x_ref[0]+(-0.799168065807)*x_ref[1]**o+(0.0264962830729)*x_ref[1]
35172            ref[3,0]=(0.777665875019)*x_ref[0]**o+(-0.13232137001)*x_ref[0]+(0.682046389381)*x_ref[1]**o+(0.589069623109)*x_ref[1]
35173            ref[3,1]=(0.7607621575)*x_ref[0]**o+(-0.81285460551)*x_ref[0]+(0.0523010659976)*x_ref[1]**o+(-0.913765717778)*x_ref[1]
35174            ref[3,2]=(0.822107753118)*x_ref[0]**o+(0.508869893322)*x_ref[0]+(0.679583348422)*x_ref[1]**o+(-0.597814039932)*x_ref[1]
35175            ref[3,3]=(-0.77699176705)*x_ref[0]**o+(-0.267758166676)*x_ref[0]+(0.661073127871)*x_ref[1]**o+(-0.41434545147)*x_ref[1]
35176            ref[3,4]=(0.223013380161)*x_ref[0]**o+(-0.558077040245)*x_ref[0]+(-0.450831764747)*x_ref[1]**o+(-0.0897765635191)*x_ref[1]
35177          else:
35178            arg[0,0]=(0.487697656095)*x[0]**o+(0.362509734966)*x[0]+(-0.40438484582)*x[1]**o+(-0.358984481681)*x[1]+(0.157670938098)*x[2]**o+(-0.631406375093)*x[2]
35179            arg[0,1]=(-0.00251154956677)*x[0]**o+(0.671447769464)*x[0]+(0.535541351526)*x[1]**o+(0.433508112485)*x[1]+(-0.897668718638)*x[2]**o+(0.141331586102)*x[2]
35180            arg[0,2]=(-0.964778505658)*x[0]**o+(0.522815935313)*x[0]+(-0.750318077186)*x[1]**o+(0.0595240411196)*x[1]+(-0.384021192511)*x[2]**o+(-0.802529657745)*x[2]
35181            arg[0,3]=(0.264781810221)*x[0]**o+(-0.654277693956)*x[0]+(0.890264421741)*x[1]**o+(-0.657743774786)*x[1]+(0.320234835664)*x[2]**o+(0.0637070094165)*x[2]
35182            arg[0,4]=(0.712229359775)*x[0]**o+(-0.646586719826)*x[0]+(0.876519277606)*x[1]**o+(0.473649630238)*x[1]+(0.332259187685)*x[2]**o+(-0.331489699179)*x[2]
35183            arg[1,0]=(0.808534274392)*x[0]**o+(-0.296462057802)*x[0]+(0.152536716655)*x[1]**o+(-0.990267302005)*x[1]+(-0.823462709316)*x[2]**o+(-0.51608634537)*x[2]
35184            arg[1,1]=(-0.745238552081)*x[0]**o+(-0.892086591023)*x[0]+(0.691429994644)*x[1]**o+(-0.52538570831)*x[1]+(-0.668959934842)*x[2]**o+(-0.5178179109)*x[2]
35185            arg[1,2]=(0.10173204456)*x[0]**o+(-0.853001564748)*x[0]+(0.617252846191)*x[1]**o+(-0.518228673297)*x[1]+(-0.995447484095)*x[2]**o+(0.56679145486)*x[2]
35186            arg[1,3]=(0.285145125389)*x[0]**o+(0.773362877732)*x[0]+(-0.457364007088)*x[1]**o+(0.226257217659)*x[1]+(0.439832733067)*x[2]**o+(0.872812128578)*x[2]
35187            arg[1,4]=(-0.581535304023)*x[0]**o+(-0.944599120493)*x[0]+(-0.720009453699)*x[1]**o+(-0.29624047891)*x[1]+(0.966528522407)*x[2]**o+(0.818945905214)*x[2]
35188            arg[2,0]=(-0.650732348774)*x[0]**o+(0.368909306978)*x[0]+(-0.608327978493)*x[1]**o+(0.301600904054)*x[1]+(-0.747648472883)*x[2]**o+(0.846568601061)*x[2]
35189            arg[2,1]=(-0.0221803961531)*x[0]**o+(-0.858842969825)*x[0]+(-0.40141447334)*x[1]**o+(0.408164536045)*x[1]+(-0.0131899768237)*x[2]**o+(-0.0983376041104)*x[2]
35190            arg[2,2]=(0.0855129797683)*x[0]**o+(0.0645200342375)*x[0]+(0.295916169508)*x[1]**o+(0.343169626483)*x[1]+(0.973477621396)*x[2]**o+(0.179505855846)*x[2]
35191            arg[2,3]=(-0.115714157482)*x[0]**o+(-0.00785628190789)*x[0]+(0.406498238895)*x[1]**o+(-0.954353977843)*x[1]+(0.751544148524)*x[2]**o+(-0.092307218389)*x[2]
35192            arg[2,4]=(0.807583813259)*x[0]**o+(-0.0150562208564)*x[0]+(0.967290753425)*x[1]**o+(0.960049095802)*x[1]+(0.41935259669)*x[2]**o+(0.878823415691)*x[2]
35193            arg[3,0]=(-0.162221321908)*x[0]**o+(0.0142404015457)*x[0]+(0.769189546147)*x[1]**o+(-0.251240080116)*x[1]+(0.980441953151)*x[2]**o+(-0.183639594778)*x[2]
35194            arg[3,1]=(0.270231471303)*x[0]**o+(-0.527471406108)*x[0]+(-0.255144134035)*x[1]**o+(0.268061599615)*x[1]+(-0.396373327005)*x[2]**o+(0.105905036411)*x[2]
35195            arg[3,2]=(0.5159632953)*x[0]**o+(-0.87397274133)*x[0]+(0.493876004047)*x[1]**o+(0.320996363656)*x[1]+(0.884345148533)*x[2]**o+(0.116262647026)*x[2]
35196            arg[3,3]=(-0.354053396048)*x[0]**o+(-0.130121845174)*x[0]+(-0.33114435645)*x[1]**o+(-0.73998189126)*x[1]+(0.362417530484)*x[2]**o+(0.676820875084)*x[2]
35197            arg[3,4]=(-0.53273881792)*x[0]**o+(-0.0624208514424)*x[0]+(0.680486778939)*x[1]**o+(-0.370666453954)*x[1]+(0.294345859395)*x[2]**o+(-0.679169213305)*x[2]
35198            ref[0,0]=(0.487697656095)*x_ref[0]**o+(0.362509734966)*x_ref[0]+(-0.40438484582)*x_ref[1]**o+(-0.358984481681)*x_ref[1]+(0.157670938098)*x_ref[2]**o+(-0.631406375093)*x_ref[2]
35199            ref[0,1]=(-0.00251154956677)*x_ref[0]**o+(0.671447769464)*x_ref[0]+(0.535541351526)*x_ref[1]**o+(0.433508112485)*x_ref[1]+(-0.897668718638)*x_ref[2]**o+(0.141331586102)*x_ref[2]
35200            ref[0,2]=(-0.964778505658)*x_ref[0]**o+(0.522815935313)*x_ref[0]+(-0.750318077186)*x_ref[1]**o+(0.0595240411196)*x_ref[1]+(-0.384021192511)*x_ref[2]**o+(-0.802529657745)*x_ref[2]
35201            ref[0,3]=(0.264781810221)*x_ref[0]**o+(-0.654277693956)*x_ref[0]+(0.890264421741)*x_ref[1]**o+(-0.657743774786)*x_ref[1]+(0.320234835664)*x_ref[2]**o+(0.0637070094165)*x_ref[2]
35202            ref[0,4]=(0.712229359775)*x_ref[0]**o+(-0.646586719826)*x_ref[0]+(0.876519277606)*x_ref[1]**o+(0.473649630238)*x_ref[1]+(0.332259187685)*x_ref[2]**o+(-0.331489699179)*x_ref[2]
35203            ref[1,0]=(0.808534274392)*x_ref[0]**o+(-0.296462057802)*x_ref[0]+(0.152536716655)*x_ref[1]**o+(-0.990267302005)*x_ref[1]+(-0.823462709316)*x_ref[2]**o+(-0.51608634537)*x_ref[2]
35204            ref[1,1]=(-0.745238552081)*x_ref[0]**o+(-0.892086591023)*x_ref[0]+(0.691429994644)*x_ref[1]**o+(-0.52538570831)*x_ref[1]+(-0.668959934842)*x_ref[2]**o+(-0.5178179109)*x_ref[2]
35205            ref[1,2]=(0.10173204456)*x_ref[0]**o+(-0.853001564748)*x_ref[0]+(0.617252846191)*x_ref[1]**o+(-0.518228673297)*x_ref[1]+(-0.995447484095)*x_ref[2]**o+(0.56679145486)*x_ref[2]
35206            ref[1,3]=(0.285145125389)*x_ref[0]**o+(0.773362877732)*x_ref[0]+(-0.457364007088)*x_ref[1]**o+(0.226257217659)*x_ref[1]+(0.439832733067)*x_ref[2]**o+(0.872812128578)*x_ref[2]
35207            ref[1,4]=(-0.581535304023)*x_ref[0]**o+(-0.944599120493)*x_ref[0]+(-0.720009453699)*x_ref[1]**o+(-0.29624047891)*x_ref[1]+(0.966528522407)*x_ref[2]**o+(0.818945905214)*x_ref[2]
35208            ref[2,0]=(-0.650732348774)*x_ref[0]**o+(0.368909306978)*x_ref[0]+(-0.608327978493)*x_ref[1]**o+(0.301600904054)*x_ref[1]+(-0.747648472883)*x_ref[2]**o+(0.846568601061)*x_ref[2]
35209            ref[2,1]=(-0.0221803961531)*x_ref[0]**o+(-0.858842969825)*x_ref[0]+(-0.40141447334)*x_ref[1]**o+(0.408164536045)*x_ref[1]+(-0.0131899768237)*x_ref[2]**o+(-0.0983376041104)*x_ref[2]
35210            ref[2,2]=(0.0855129797683)*x_ref[0]**o+(0.0645200342375)*x_ref[0]+(0.295916169508)*x_ref[1]**o+(0.343169626483)*x_ref[1]+(0.973477621396)*x_ref[2]**o+(0.179505855846)*x_ref[2]
35211            ref[2,3]=(-0.115714157482)*x_ref[0]**o+(-0.00785628190789)*x_ref[0]+(0.406498238895)*x_ref[1]**o+(-0.954353977843)*x_ref[1]+(0.751544148524)*x_ref[2]**o+(-0.092307218389)*x_ref[2]
35212            ref[2,4]=(0.807583813259)*x_ref[0]**o+(-0.0150562208564)*x_ref[0]+(0.967290753425)*x_ref[1]**o+(0.960049095802)*x_ref[1]+(0.41935259669)*x_ref[2]**o+(0.878823415691)*x_ref[2]
35213            ref[3,0]=(-0.162221321908)*x_ref[0]**o+(0.0142404015457)*x_ref[0]+(0.769189546147)*x_ref[1]**o+(-0.251240080116)*x_ref[1]+(0.980441953151)*x_ref[2]**o+(-0.183639594778)*x_ref[2]
35214            ref[3,1]=(0.270231471303)*x_ref[0]**o+(-0.527471406108)*x_ref[0]+(-0.255144134035)*x_ref[1]**o+(0.268061599615)*x_ref[1]+(-0.396373327005)*x_ref[2]**o+(0.105905036411)*x_ref[2]
35215            ref[3,2]=(0.5159632953)*x_ref[0]**o+(-0.87397274133)*x_ref[0]+(0.493876004047)*x_ref[1]**o+(0.320996363656)*x_ref[1]+(0.884345148533)*x_ref[2]**o+(0.116262647026)*x_ref[2]
35216            ref[3,3]=(-0.354053396048)*x_ref[0]**o+(-0.130121845174)*x_ref[0]+(-0.33114435645)*x_ref[1]**o+(-0.73998189126)*x_ref[1]+(0.362417530484)*x_ref[2]**o+(0.676820875084)*x_ref[2]
35217            ref[3,4]=(-0.53273881792)*x_ref[0]**o+(-0.0624208514424)*x_ref[0]+(0.680486778939)*x_ref[1]**o+(-0.370666453954)*x_ref[1]+(0.294345859395)*x_ref[2]**o+(-0.679169213305)*x_ref[2]
35218          res=interpolate(arg,where=w_ref)
35219          self.failUnless(isinstance(res,Data),"wrong type of result.")
35220          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35221          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
35222          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35223       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35224       def test_interpolate_onFunction_fromData_ContinuousFunction_rank3(self):
35225          """
35226          tests interpolate for rank 3 Data onto the Function
35227    
35228          assumptions: self.domain supports inpterpolation from ContinuousFunction onto Function
35229          """
35230          o=self.order
35231          dim=self.domain.getDim()
35232          w_ref=Function(self.domain)
35233          x_ref=w_ref.getX()
35234          w=ContinuousFunction(self.domain)
35235          x=w.getX()
35236          arg=Data(0,(6, 2, 2),w)
35237          ref=Data(0,(6, 2, 2),w_ref)
35238          if dim==2:
35239            arg[0,0,0]=(-0.0906971676514)*x[0]**o+(-0.0640252128559)*x[0]+(-0.0108470120234)*x[1]**o+(-0.62531206416)*x[1]
35240            arg[0,0,1]=(-0.0186703191671)*x[0]**o+(0.256044044276)*x[0]+(-0.420130556042)*x[1]**o+(-0.241203381189)*x[1]
35241            arg[0,1,0]=(-0.287587258734)*x[0]**o+(-0.152487596827)*x[0]+(-0.554975489568)*x[1]**o+(0.713650618367)*x[1]
35242            arg[0,1,1]=(0.467597882001)*x[0]**o+(0.617291271522)*x[0]+(0.839893220642)*x[1]**o+(0.477553624935)*x[1]
35243            arg[1,0,0]=(0.292433268891)*x[0]**o+(0.0420372671524)*x[0]+(-0.342734694042)*x[1]**o+(0.892580432212)*x[1]
35244            arg[1,0,1]=(0.191399101606)*x[0]**o+(0.413781516804)*x[0]+(-0.346483382584)*x[1]**o+(0.805718474386)*x[1]
35245            arg[1,1,0]=(0.917644938285)*x[0]**o+(0.60457272962)*x[0]+(-0.0949129141155)*x[1]**o+(0.705971564397)*x[1]
35246            arg[1,1,1]=(0.327738300229)*x[0]**o+(-0.738951673731)*x[0]+(0.335869509312)*x[1]**o+(0.392167761004)*x[1]
35247            arg[2,0,0]=(0.460678533261)*x[0]**o+(-0.10665029868)*x[0]+(0.658148262201)*x[1]**o+(-0.75975084995)*x[1]
35248            arg[2,0,1]=(0.307057582515)*x[0]**o+(0.0755776536138)*x[0]+(0.866743758656)*x[1]**o+(-0.463537240812)*x[1]
35249            arg[2,1,0]=(-0.470241867396)*x[0]**o+(-0.0316070952691)*x[0]+(0.877786692055)*x[1]**o+(-0.750713976717)*x[1]
35250            arg[2,1,1]=(0.755903505788)*x[0]**o+(0.398472877018)*x[0]+(-0.372159129627)*x[1]**o+(0.170870288116)*x[1]
35251            arg[3,0,0]=(0.0310115714805)*x[0]**o+(0.822261427932)*x[0]+(-0.0979068243755)*x[1]**o+(0.61848414895)*x[1]
35252            arg[3,0,1]=(-0.442666645023)*x[0]**o+(0.759423291727)*x[0]+(0.771826722418)*x[1]**o+(-0.342283533203)*x[1]
35253            arg[3,1,0]=(0.292608821995)*x[0]**o+(0.301553824784)*x[0]+(0.445054135435)*x[1]**o+(0.990249711651)*x[1]
35254            arg[3,1,1]=(0.835714722542)*x[0]**o+(0.888569910076)*x[0]+(0.76442321847)*x[1]**o+(-0.272880995105)*x[1]
35255            arg[4,0,0]=(0.434738367563)*x[0]**o+(-0.801063604881)*x[0]+(-0.0152782263323)*x[1]**o+(-0.309467614762)*x[1]
35256            arg[4,0,1]=(-0.647140151015)*x[0]**o+(-0.0810020795911)*x[0]+(0.356402263616)*x[1]**o+(0.861692124435)*x[1]
35257            arg[4,1,0]=(-0.958501155541)*x[0]**o+(0.611720259342)*x[0]+(-0.631450146062)*x[1]**o+(-0.512668667768)*x[1]
35258            arg[4,1,1]=(0.771988547023)*x[0]**o+(0.466474334634)*x[0]+(-0.380283529607)*x[1]**o+(-0.619497160805)*x[1]
35259            arg[5,0,0]=(0.427386565443)*x[0]**o+(-0.178637075872)*x[0]+(0.81988184595)*x[1]**o+(-0.407798714033)*x[1]
35260            arg[5,0,1]=(-0.850161084571)*x[0]**o+(0.183440360862)*x[0]+(-0.83848298192)*x[1]**o+(-0.222248160259)*x[1]
35261            arg[5,1,0]=(-0.930623680879)*x[0]**o+(0.694991147173)*x[0]+(-0.299904374239)*x[1]**o+(0.552324198856)*x[1]
35262            arg[5,1,1]=(0.740715083219)*x[0]**o+(0.438768785937)*x[0]+(0.977523774483)*x[1]**o+(-0.668723413125)*x[1]
35263            ref[0,0,0]=(-0.0906971676514)*x_ref[0]**o+(-0.0640252128559)*x_ref[0]+(-0.0108470120234)*x_ref[1]**o+(-0.62531206416)*x_ref[1]
35264            ref[0,0,1]=(-0.0186703191671)*x_ref[0]**o+(0.256044044276)*x_ref[0]+(-0.420130556042)*x_ref[1]**o+(-0.241203381189)*x_ref[1]
35265            ref[0,1,0]=(-0.287587258734)*x_ref[0]**o+(-0.152487596827)*x_ref[0]+(-0.554975489568)*x_ref[1]**o+(0.713650618367)*x_ref[1]
35266            ref[0,1,1]=(0.467597882001)*x_ref[0]**o+(0.617291271522)*x_ref[0]+(0.839893220642)*x_ref[1]**o+(0.477553624935)*x_ref[1]
35267            ref[1,0,0]=(0.292433268891)*x_ref[0]**o+(0.0420372671524)*x_ref[0]+(-0.342734694042)*x_ref[1]**o+(0.892580432212)*x_ref[1]
35268            ref[1,0,1]=(0.191399101606)*x_ref[0]**o+(0.413781516804)*x_ref[0]+(-0.346483382584)*x_ref[1]**o+(0.805718474386)*x_ref[1]
35269            ref[1,1,0]=(0.917644938285)*x_ref[0]**o+(0.60457272962)*x_ref[0]+(-0.0949129141155)*x_ref[1]**o+(0.705971564397)*x_ref[1]
35270            ref[1,1,1]=(0.327738300229)*x_ref[0]**o+(-0.738951673731)*x_ref[0]+(0.335869509312)*x_ref[1]**o+(0.392167761004)*x_ref[1]
35271            ref[2,0,0]=(0.460678533261)*x_ref[0]**o+(-0.10665029868)*x_ref[0]+(0.658148262201)*x_ref[1]**o+(-0.75975084995)*x_ref[1]
35272            ref[2,0,1]=(0.307057582515)*x_ref[0]**o+(0.0755776536138)*x_ref[0]+(0.866743758656)*x_ref[1]**o+(-0.463537240812)*x_ref[1]
35273            ref[2,1,0]=(-0.470241867396)*x_ref[0]**o+(-0.0316070952691)*x_ref[0]+(0.877786692055)*x_ref[1]**o+(-0.750713976717)*x_ref[1]
35274            ref[2,1,1]=(0.755903505788)*x_ref[0]**o+(0.398472877018)*x_ref[0]+(-0.372159129627)*x_ref[1]**o+(0.170870288116)*x_ref[1]
35275            ref[3,0,0]=(0.0310115714805)*x_ref[0]**o+(0.822261427932)*x_ref[0]+(-0.0979068243755)*x_ref[1]**o+(0.61848414895)*x_ref[1]
35276            ref[3,0,1]=(-0.442666645023)*x_ref[0]**o+(0.759423291727)*x_ref[0]+(0.771826722418)*x_ref[1]**o+(-0.342283533203)*x_ref[1]
35277            ref[3,1,0]=(0.292608821995)*x_ref[0]**o+(0.301553824784)*x_ref[0]+(0.445054135435)*x_ref[1]**o+(0.990249711651)*x_ref[1]
35278            ref[3,1,1]=(0.835714722542)*x_ref[0]**o+(0.888569910076)*x_ref[0]+(0.76442321847)*x_ref[1]**o+(-0.272880995105)*x_ref[1]
35279            ref[4,0,0]=(0.434738367563)*x_ref[0]**o+(-0.801063604881)*x_ref[0]+(-0.0152782263323)*x_ref[1]**o+(-0.309467614762)*x_ref[1]
35280            ref[4,0,1]=(-0.647140151015)*x_ref[0]**o+(-0.0810020795911)*x_ref[0]+(0.356402263616)*x_ref[1]**o+(0.861692124435)*x_ref[1]
35281            ref[4,1,0]=(-0.958501155541)*x_ref[0]**o+(0.611720259342)*x_ref[0]+(-0.631450146062)*x_ref[1]**o+(-0.512668667768)*x_ref[1]
35282            ref[4,1,1]=(0.771988547023)*x_ref[0]**o+(0.466474334634)*x_ref[0]+(-0.380283529607)*x_ref[1]**o+(-0.619497160805)*x_ref[1]
35283            ref[5,0,0]=(0.427386565443)*x_ref[0]**o+(-0.178637075872)*x_ref[0]+(0.81988184595)*x_ref[1]**o+(-0.407798714033)*x_ref[1]
35284            ref[5,0,1]=(-0.850161084571)*x_ref[0]**o+(0.183440360862)*x_ref[0]+(-0.83848298192)*x_ref[1]**o+(-0.222248160259)*x_ref[1]
35285            ref[5,1,0]=(-0.930623680879)*x_ref[0]**o+(0.694991147173)*x_ref[0]+(-0.299904374239)*x_ref[1]**o+(0.552324198856)*x_ref[1]
35286            ref[5,1,1]=(0.740715083219)*x_ref[0]**o+(0.438768785937)*x_ref[0]+(0.977523774483)*x_ref[1]**o+(-0.668723413125)*x_ref[1]
35287          else:
35288            arg[0,0,0]=(0.0408197213005)*x[0]**o+(-0.992920054273)*x[0]+(0.122468233435)*x[1]**o+(-0.435942398199)*x[1]+(0.822235014621)*x[2]**o+(0.425925287623)*x[2]
35289            arg[0,0,1]=(0.474354220259)*x[0]**o+(0.287892840646)*x[0]+(-0.519818501933)*x[1]**o+(0.412301993774)*x[1]+(-0.242320576454)*x[2]**o+(0.758556860596)*x[2]
35290            arg[0,1,0]=(0.588735088154)*x[0]**o+(-0.948279493327)*x[0]+(0.194404465814)*x[1]**o+(-0.00761227943336)*x[1]+(-0.117173968067)*x[2]**o+(-0.228746139749)*x[2]
35291            arg[0,1,1]=(0.166448081217)*x[0]**o+(-0.228754542424)*x[0]+(-0.87739172573)*x[1]**o+(-0.592282861607)*x[1]+(-0.836732991313)*x[2]**o+(-0.20226535214)*x[2]
35292            arg[1,0,0]=(0.2683388552)*x[0]**o+(-0.733516131653)*x[0]+(-0.900887340495)*x[1]**o+(-0.614908158304)*x[1]+(0.422189467695)*x[2]**o+(0.642276887435)*x[2]
35293            arg[1,0,1]=(0.965294152134)*x[0]**o+(-0.326731862045)*x[0]+(-0.797754723728)*x[1]**o+(-0.678993698958)*x[1]+(0.256815891879)*x[2]**o+(0.48610716642)*x[2]
35294            arg[1,1,0]=(0.71383480118)*x[0]**o+(-0.949206151211)*x[0]+(0.40802633055)*x[1]**o+(-0.512457451544)*x[1]+(0.83647020826)*x[2]**o+(0.330550196742)*x[2]
35295            arg[1,1,1]=(-0.108602934331)*x[0]**o+(-0.585532075482)*x[0]+(0.302790940309)*x[1]**o+(-0.201628116557)*x[1]+(0.523440894937)*x[2]**o+(-0.421867218852)*x[2]
35296            arg[2,0,0]=(-0.911096130025)*x[0]**o+(-0.944970520542)*x[0]+(0.597179186191)*x[1]**o+(0.530539729209)*x[1]+(-0.538576718159)*x[2]**o+(-0.908863106348)*x[2]
35297            arg[2,0,1]=(0.828174522282)*x[0]**o+(-0.132534369339)*x[0]+(0.851849613713)*x[1]**o+(0.191494183049)*x[1]+(-0.953488097214)*x[2]**o+(0.423553741843)*x[2]
35298            arg[2,1,0]=(0.458631350156)*x[0]**o+(0.21755431391)*x[0]+(-0.128541259216)*x[1]**o+(-0.172831640065)*x[1]+(-0.62567145453)*x[2]**o+(-0.345626622399)*x[2]
35299            arg[2,1,1]=(0.49890508395)*x[0]**o+(-0.395084188812)*x[0]+(-0.653164498387)*x[1]**o+(-0.656416446654)*x[1]+(-0.844855683273)*x[2]**o+(-0.813755115861)*x[2]
35300            arg[3,0,0]=(-0.252710828698)*x[0]**o+(-0.0100429888666)*x[0]+(0.952930817098)*x[1]**o+(-0.950777038172)*x[1]+(0.244588721191)*x[2]**o+(-0.400442332557)*x[2]
35301            arg[3,0,1]=(-0.505331423555)*x[0]**o+(-0.535163478725)*x[0]+(0.924129836434)*x[1]**o+(-0.285813201016)*x[1]+(0.225037301542)*x[2]**o+(-0.331424134564)*x[2]
35302            arg[3,1,0]=(-0.556397106971)*x[0]**o+(0.26005371138)*x[0]+(0.902941320217)*x[1]**o+(0.70375648044)*x[1]+(-0.559371940837)*x[2]**o+(-0.628051748121)*x[2]
35303            arg[3,1,1]=(-0.644440017615)*x[0]**o+(-0.13415915731)*x[0]+(-0.752973804206)*x[1]**o+(-0.430304389409)*x[1]+(0.892979644749)*x[2]**o+(0.0618885081881)*x[2]
35304            arg[4,0,0]=(0.388902949971)*x[0]**o+(-0.413207160819)*x[0]+(-0.597892565551)*x[1]**o+(-0.433017605538)*x[1]+(0.369120396114)*x[2]**o+(-0.714185662873)*x[2]
35305            arg[4,0,1]=(0.140621693105)*x[0]**o+(0.910612147355)*x[0]+(0.404844175588)*x[1]**o+(0.963351416048)*x[1]+(0.545142156468)*x[2]**o+(-0.513154196146)*x[2]
35306            arg[4,1,0]=(-0.6045448854)*x[0]**o+(0.364599037279)*x[0]+(-0.165333666972)*x[1]**o+(-0.454715984949)*x[1]+(-0.123749300084)*x[2]**o+(0.23666517892)*x[2]
35307            arg[4,1,1]=(-0.701819332028)*x[0]**o+(-0.945269094128)*x[0]+(0.313745376139)*x[1]**o+(-0.0508160648325)*x[1]+(0.273150632944)*x[2]**o+(0.363230489878)*x[2]
35308            arg[5,0,0]=(-0.899477778287)*x[0]**o+(0.408300340496)*x[0]+(-0.501090863132)*x[1]**o+(-0.142172524799)*x[1]+(0.840930927028)*x[2]**o+(0.0786174984564)*x[2]
35309            arg[5,0,1]=(0.816863720765)*x[0]**o+(0.421613919321)*x[0]+(0.619636513942)*x[1]**o+(-0.867504595488)*x[1]+(-0.377345269009)*x[2]**o+(-0.884630348781)*x[2]
35310            arg[5,1,0]=(0.972307172208)*x[0]**o+(0.704673083035)*x[0]+(0.546566839332)*x[1]**o+(-0.303145527888)*x[1]+(-0.203985539635)*x[2]**o+(0.984097584463)*x[2]
35311            arg[5,1,1]=(0.67971485539)*x[0]**o+(0.492284313707)*x[0]+(0.139113989973)*x[1]**o+(-0.981414708174)*x[1]+(0.585926444541)*x[2]**o+(-0.790952419012)*x[2]
35312            ref[0,0,0]=(0.0408197213005)*x_ref[0]**o+(-0.992920054273)*x_ref[0]+(0.122468233435)*x_ref[1]**o+(-0.435942398199)*x_ref[1]+(0.822235014621)*x_ref[2]**o+(0.425925287623)*x_ref[2]
35313            ref[0,0,1]=(0.474354220259)*x_ref[0]**o+(0.287892840646)*x_ref[0]+(-0.519818501933)*x_ref[1]**o+(0.412301993774)*x_ref[1]+(-0.242320576454)*x_ref[2]**o+(0.758556860596)*x_ref[2]
35314            ref[0,1,0]=(0.588735088154)*x_ref[0]**o+(-0.948279493327)*x_ref[0]+(0.194404465814)*x_ref[1]**o+(-0.00761227943336)*x_ref[1]+(-0.117173968067)*x_ref[2]**o+(-0.228746139749)*x_ref[2]
35315            ref[0,1,1]=(0.166448081217)*x_ref[0]**o+(-0.228754542424)*x_ref[0]+(-0.87739172573)*x_ref[1]**o+(-0.592282861607)*x_ref[1]+(-0.836732991313)*x_ref[2]**o+(-0.20226535214)*x_ref[2]
35316            ref[1,0,0]=(0.2683388552)*x_ref[0]**o+(-0.733516131653)*x_ref[0]+(-0.900887340495)*x_ref[1]**o+(-0.614908158304)*x_ref[1]+(0.422189467695)*x_ref[2]**o+(0.642276887435)*x_ref[2]
35317            ref[1,0,1]=(0.965294152134)*x_ref[0]**o+(-0.326731862045)*x_ref[0]+(-0.797754723728)*x_ref[1]**o+(-0.678993698958)*x_ref[1]+(0.256815891879)*x_ref[2]**o+(0.48610716642)*x_ref[2]
35318            ref[1,1,0]=(0.71383480118)*x_ref[0]**o+(-0.949206151211)*x_ref[0]+(0.40802633055)*x_ref[1]**o+(-0.512457451544)*x_ref[1]+(0.83647020826)*x_ref[2]**o+(0.330550196742)*x_ref[2]
35319            ref[1,1,1]=(-0.108602934331)*x_ref[0]**o+(-0.585532075482)*x_ref[0]+(0.302790940309)*x_ref[1]**o+(-0.201628116557)*x_ref[1]+(0.523440894937)*x_ref[2]**o+(-0.421867218852)*x_ref[2]
35320            ref[2,0,0]=(-0.911096130025)*x_ref[0]**o+(-0.944970520542)*x_ref[0]+(0.597179186191)*x_ref[1]**o+(0.530539729209)*x_ref[1]+(-0.538576718159)*x_ref[2]**o+(-0.908863106348)*x_ref[2]
35321            ref[2,0,1]=(0.828174522282)*x_ref[0]**o+(-0.132534369339)*x_ref[0]+(0.851849613713)*x_ref[1]**o+(0.191494183049)*x_ref[1]+(-0.953488097214)*x_ref[2]**o+(0.423553741843)*x_ref[2]
35322            ref[2,1,0]=(0.458631350156)*x_ref[0]**o+(0.21755431391)*x_ref[0]+(-0.128541259216)*x_ref[1]**o+(-0.172831640065)*x_ref[1]+(-0.62567145453)*x_ref[2]**o+(-0.345626622399)*x_ref[2]
35323            ref[2,1,1]=(0.49890508395)*x_ref[0]**o+(-0.395084188812)*x_ref[0]+(-0.653164498387)*x_ref[1]**o+(-0.656416446654)*x_ref[1]+(-0.844855683273)*x_ref[2]**o+(-0.813755115861)*x_ref[2]
35324            ref[3,0,0]=(-0.252710828698)*x_ref[0]**o+(-0.0100429888666)*x_ref[0]+(0.952930817098)*x_ref[1]**o+(-0.950777038172)*x_ref[1]+(0.244588721191)*x_ref[2]**o+(-0.400442332557)*x_ref[2]
35325            ref[3,0,1]=(-0.505331423555)*x_ref[0]**o+(-0.535163478725)*x_ref[0]+(0.924129836434)*x_ref[1]**o+(-0.285813201016)*x_ref[1]+(0.225037301542)*x_ref[2]**o+(-0.331424134564)*x_ref[2]
35326            ref[3,1,0]=(-0.556397106971)*x_ref[0]**o+(0.26005371138)*x_ref[0]+(0.902941320217)*x_ref[1]**o+(0.70375648044)*x_ref[1]+(-0.559371940837)*x_ref[2]**o+(-0.628051748121)*x_ref[2]
35327            ref[3,1,1]=(-0.644440017615)*x_ref[0]**o+(-0.13415915731)*x_ref[0]+(-0.752973804206)*x_ref[1]**o+(-0.430304389409)*x_ref[1]+(0.892979644749)*x_ref[2]**o+(0.0618885081881)*x_ref[2]
35328            ref[4,0,0]=(0.388902949971)*x_ref[0]**o+(-0.413207160819)*x_ref[0]+(-0.597892565551)*x_ref[1]**o+(-0.433017605538)*x_ref[1]+(0.369120396114)*x_ref[2]**o+(-0.714185662873)*x_ref[2]
35329            ref[4,0,1]=(0.140621693105)*x_ref[0]**o+(0.910612147355)*x_ref[0]+(0.404844175588)*x_ref[1]**o+(0.963351416048)*x_ref[1]+(0.545142156468)*x_ref[2]**o+(-0.513154196146)*x_ref[2]
35330            ref[4,1,0]=(-0.6045448854)*x_ref[0]**o+(0.364599037279)*x_ref[0]+(-0.165333666972)*x_ref[1]**o+(-0.454715984949)*x_ref[1]+(-0.123749300084)*x_ref[2]**o+(0.23666517892)*x_ref[2]
35331            ref[4,1,1]=(-0.701819332028)*x_ref[0]**o+(-0.945269094128)*x_ref[0]+(0.313745376139)*x_ref[1]**o+(-0.0508160648325)*x_ref[1]+(0.273150632944)*x_ref[2]**o+(0.363230489878)*x_ref[2]
35332            ref[5,0,0]=(-0.899477778287)*x_ref[0]**o+(0.408300340496)*x_ref[0]+(-0.501090863132)*x_ref[1]**o+(-0.142172524799)*x_ref[1]+(0.840930927028)*x_ref[2]**o+(0.0786174984564)*x_ref[2]
35333            ref[5,0,1]=(0.816863720765)*x_ref[0]**o+(0.421613919321)*x_ref[0]+(0.619636513942)*x_ref[1]**o+(-0.867504595488)*x_ref[1]+(-0.377345269009)*x_ref[2]**o+(-0.884630348781)*x_ref[2]
35334            ref[5,1,0]=(0.972307172208)*x_ref[0]**o+(0.704673083035)*x_ref[0]+(0.546566839332)*x_ref[1]**o+(-0.303145527888)*x_ref[1]+(-0.203985539635)*x_ref[2]**o+(0.984097584463)*x_ref[2]
35335            ref[5,1,1]=(0.67971485539)*x_ref[0]**o+(0.492284313707)*x_ref[0]+(0.139113989973)*x_ref[1]**o+(-0.981414708174)*x_ref[1]+(0.585926444541)*x_ref[2]**o+(-0.790952419012)*x_ref[2]
35336          res=interpolate(arg,where=w_ref)
35337          self.failUnless(isinstance(res,Data),"wrong type of result.")
35338          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35339          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
35340          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35341       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35342       def test_interpolate_onFunction_fromData_ContinuousFunction_rank4(self):
35343          """
35344          tests interpolate for rank 4 Data onto the Function
35345    
35346          assumptions: self.domain supports inpterpolation from ContinuousFunction onto Function
35347          """
35348          o=self.order
35349          dim=self.domain.getDim()
35350          w_ref=Function(self.domain)
35351          x_ref=w_ref.getX()
35352          w=ContinuousFunction(self.domain)
35353          x=w.getX()
35354          arg=Data(0,(4, 5, 3, 2),w)
35355          ref=Data(0,(4, 5, 3, 2),w_ref)
35356          if dim==2:
35357            arg[0,0,0,0]=(-0.717741572212)*x[0]**o+(-0.771801794802)*x[0]+(-0.782201793954)*x[1]**o+(0.125253178673)*x[1]
35358            arg[0,0,0,1]=(-0.483339499341)*x[0]**o+(0.0177945970437)*x[0]+(0.233532060933)*x[1]**o+(-0.465948890703)*x[1]
35359            arg[0,0,1,0]=(0.140544455071)*x[0]**o+(-0.120145399579)*x[0]+(-0.0732045826929)*x[1]**o+(-0.738165902415)*x[1]
35360            arg[0,0,1,1]=(0.98057407477)*x[0]**o+(0.346125329427)*x[0]+(0.697386820108)*x[1]**o+(0.402406370862)*x[1]
35361            arg[0,0,2,0]=(0.347641628204)*x[0]**o+(-0.217938924727)*x[0]+(-0.0572727430966)*x[1]**o+(0.170631149745)*x[1]
35362            arg[0,0,2,1]=(0.621840702108)*x[0]**o+(-0.109219941839)*x[0]+(0.894052962811)*x[1]**o+(0.423894680808)*x[1]
35363            arg[0,1,0,0]=(0.0339315069567)*x[0]**o+(-0.655546201957)*x[0]+(-0.271776247317)*x[1]**o+(0.4760527815)*x[1]
35364            arg[0,1,0,1]=(0.904216237912)*x[0]**o+(0.974869309983)*x[0]+(0.678379481202)*x[1]**o+(0.602534020957)*x[1]
35365            arg[0,1,1,0]=(-0.98805028173)*x[0]**o+(0.255251214419)*x[0]+(0.659010647624)*x[1]**o+(-0.45360685971)*x[1]
35366            arg[0,1,1,1]=(0.0884339867328)*x[0]**o+(-0.325188714625)*x[0]+(0.158562643552)*x[1]**o+(-0.788600388567)*x[1]
35367            arg[0,1,2,0]=(0.976404407593)*x[0]**o+(0.353231650963)*x[0]+(0.546951413477)*x[1]**o+(0.0738098551899)*x[1]
35368            arg[0,1,2,1]=(-0.812156797654)*x[0]**o+(-0.0180014270879)*x[0]+(0.686011517957)*x[1]**o+(0.148522434365)*x[1]
35369            arg[0,2,0,0]=(-0.40018516407)*x[0]**o+(-0.0512695503575)*x[0]+(-0.715512784143)*x[1]**o+(0.111064716031)*x[1]
35370            arg[0,2,0,1]=(-0.963397739298)*x[0]**o+(0.406951519848)*x[0]+(-0.293539028967)*x[1]**o+(-0.549328925146)*x[1]
35371            arg[0,2,1,0]=(-0.00827402449089)*x[0]**o+(-0.657982352244)*x[0]+(-0.515966831052)*x[1]**o+(0.531853371259)*x[1]
35372            arg[0,2,1,1]=(0.0379862601491)*x[0]**o+(0.988691147833)*x[0]+(0.820623911484)*x[1]**o+(0.689064076022)*x[1]
35373            arg[0,2,2,0]=(-0.857638654259)*x[0]**o+(0.664968676908)*x[0]+(-0.228424264597)*x[1]**o+(0.740003679791)*x[1]
35374            arg[0,2,2,1]=(0.456486069586)*x[0]**o+(-0.510130176146)*x[0]+(-0.189525160745)*x[1]**o+(0.497975981413)*x[1]
35375            arg[0,3,0,0]=(-0.981633737105)*x[0]**o+(0.25636883881)*x[0]+(-0.0477676975467)*x[1]**o+(0.654475880014)*x[1]
35376            arg[0,3,0,1]=(-0.0710284929969)*x[0]**o+(0.338590765191)*x[0]+(0.639048913997)*x[1]**o+(-0.24999606762)*x[1]
35377            arg[0,3,1,0]=(-0.731484482659)*x[0]**o+(-0.808253846389)*x[0]+(-0.911723431862)*x[1]**o+(-0.266029942425)*x[1]
35378            arg[0,3,1,1]=(0.909037857376)*x[0]**o+(-0.164525039433)*x[0]+(-0.924332370345)*x[1]**o+(0.476479399362)*x[1]
35379            arg[0,3,2,0]=(0.00534173833653)*x[0]**o+(-0.435160515142)*x[0]+(0.402701511687)*x[1]**o+(0.161631276653)*x[1]
35380            arg[0,3,2,1]=(-0.595791669027)*x[0]**o+(0.170580206948)*x[0]+(0.468802250813)*x[1]**o+(-0.881472636722)*x[1]
35381            arg[0,4,0,0]=(-0.0739506349513)*x[0]**o+(0.513385505957)*x[0]+(0.046977740371)*x[1]**o+(0.95763159987)*x[1]
35382            arg[0,4,0,1]=(-0.286789006223)*x[0]**o+(0.017476293519)*x[0]+(0.637378781092)*x[1]**o+(-0.670201122126)*x[1]
35383            arg[0,4,1,0]=(0.159607100455)*x[0]**o+(0.715341910227)*x[0]+(0.949546645819)*x[1]**o+(0.362982182775)*x[1]
35384            arg[0,4,1,1]=(-0.237702024358)*x[0]**o+(-0.520488841454)*x[0]+(0.606333933569)*x[1]**o+(-0.00662757701049)*x[1]
35385            arg[0,4,2,0]=(-0.415753817901)*x[0]**o+(0.731285464784)*x[0]+(0.15987336144)*x[1]**o+(0.0697706236338)*x[1]
35386            arg[0,4,2,1]=(0.0467482158427)*x[0]**o+(0.306004722736)*x[0]+(-0.905184725692)*x[1]**o+(-0.158017889366)*x[1]
35387            arg[1,0,0,0]=(-0.785535082426)*x[0]**o+(-0.189285100452)*x[0]+(-0.766349940057)*x[1]**o+(0.531469308995)*x[1]
35388            arg[1,0,0,1]=(0.522213196477)*x[0]**o+(-0.661381741437)*x[0]+(0.816089886956)*x[1]**o+(0.139829382305)*x[1]
35389            arg[1,0,1,0]=(0.0957295570417)*x[0]**o+(-0.105252674536)*x[0]+(-0.569429953382)*x[1]**o+(-0.801934666657)*x[1]
35390            arg[1,0,1,1]=(-0.557307051058)*x[0]**o+(0.218852576416)*x[0]+(0.430167216464)*x[1]**o+(-0.112285681761)*x[1]
35391            arg[1,0,2,0]=(0.288472422477)*x[0]**o+(0.294377994763)*x[0]+(-0.809503961511)*x[1]**o+(0.357020226991)*x[1]
35392            arg[1,0,2,1]=(-0.148113477705)*x[0]**o+(0.164468646294)*x[0]+(0.7977142476)*x[1]**o+(-0.407274933384)*x[1]
35393            arg[1,1,0,0]=(-0.926374434822)*x[0]**o+(-0.107713463193)*x[0]+(-0.511635723869)*x[1]**o+(0.259319717689)*x[1]
35394            arg[1,1,0,1]=(-0.18636582243)*x[0]**o+(0.698258973628)*x[0]+(0.234379281397)*x[1]**o+(0.596195875495)*x[1]
35395            arg[1,1,1,0]=(-0.180395892006)*x[0]**o+(0.631248500084)*x[0]+(0.104751616377)*x[1]**o+(0.204500206653)*x[1]
35396            arg[1,1,1,1]=(-0.517119564238)*x[0]**o+(-0.16634015634)*x[0]+(0.556785586675)*x[1]**o+(0.42659306392)*x[1]
35397            arg[1,1,2,0]=(0.163807238958)*x[0]**o+(-0.534619478446)*x[0]+(-0.700353460753)*x[1]**o+(0.121393131648)*x[1]
35398            arg[1,1,2,1]=(0.964276278961)*x[0]**o+(0.846030751304)*x[0]+(-0.745301894392)*x[1]**o+(0.33821485558)*x[1]
35399            arg[1,2,0,0]=(0.333173101086)*x[0]**o+(0.774848048743)*x[0]+(-0.659091916357)*x[1]**o+(-0.797247144497)*x[1]
35400            arg[1,2,0,1]=(0.0581394534285)*x[0]**o+(-0.524771663031)*x[0]+(-0.519465753317)*x[1]**o+(0.71748795226)*x[1]
35401            arg[1,2,1,0]=(0.224935262833)*x[0]**o+(-0.393399819306)*x[0]+(0.199349075224)*x[1]**o+(-0.808847009412)*x[1]
35402            arg[1,2,1,1]=(0.0385750795521)*x[0]**o+(-8.09949553151e-05)*x[0]+(0.496860964506)*x[1]**o+(0.0119507407829)*x[1]
35403            arg[1,2,2,0]=(0.876341556167)*x[0]**o+(0.18082766372)*x[0]+(0.401349871827)*x[1]**o+(-0.543439037303)*x[1]
35404            arg[1,2,2,1]=(-0.894525004507)*x[0]**o+(-0.516771143695)*x[0]+(0.0410916490263)*x[1]**o+(0.753841618439)*x[1]
35405            arg[1,3,0,0]=(0.251979970924)*x[0]**o+(0.790276550438)*x[0]+(-0.155708793888)*x[1]**o+(0.28971278336)*x[1]
35406            arg[1,3,0,1]=(0.258336265436)*x[0]**o+(0.696642875149)*x[0]+(0.0561355915649)*x[1]**o+(0.601839744417)*x[1]
35407            arg[1,3,1,0]=(-0.978729102785)*x[0]**o+(0.335280613262)*x[0]+(0.89228798232)*x[1]**o+(-0.693050679348)*x[1]
35408            arg[1,3,1,1]=(-0.885817753431)*x[0]**o+(-0.0641571535708)*x[0]+(-0.649578576181)*x[1]**o+(-0.95773137602)*x[1]
35409            arg[1,3,2,0]=(-0.333891001461)*x[0]**o+(-0.496064308564)*x[0]+(0.438549603377)*x[1]**o+(0.0772468142672)*x[1]
35410            arg[1,3,2,1]=(-0.16171788255)*x[0]**o+(-0.939293453222)*x[0]+(-0.284522648546)*x[1]**o+(0.744642328375)*x[1]
35411            arg[1,4,0,0]=(0.806133262332)*x[0]**o+(-0.0225320206432)*x[0]+(0.125958642606)*x[1]**o+(0.610630249467)*x[1]
35412            arg[1,4,0,1]=(0.657971870946)*x[0]**o+(0.698894701525)*x[0]+(-0.595952612496)*x[1]**o+(-0.38268841292)*x[1]
35413            arg[1,4,1,0]=(-0.277274411331)*x[0]**o+(-0.483183004514)*x[0]+(0.77656657009)*x[1]**o+(-0.959290466645)*x[1]
35414            arg[1,4,1,1]=(-0.96384356305)*x[0]**o+(-0.00383301781476)*x[0]+(0.788010409608)*x[1]**o+(0.135378744316)*x[1]
35415            arg[1,4,2,0]=(0.986761958017)*x[0]**o+(-0.570276378038)*x[0]+(-0.515784028315)*x[1]**o+(0.487125123439)*x[1]
35416            arg[1,4,2,1]=(-0.954735054702)*x[0]**o+(-0.0610323074217)*x[0]+(-0.255284859281)*x[1]**o+(0.277795725698)*x[1]
35417            arg[2,0,0,0]=(-0.708301219324)*x[0]**o+(-0.970166781553)*x[0]+(-0.0836451425855)*x[1]**o+(0.525854202995)*x[1]
35418            arg[2,0,0,1]=(-0.0995393865183)*x[0]**o+(-0.0156624820324)*x[0]+(0.225529316197)*x[1]**o+(0.142617834056)*x[1]
35419            arg[2,0,1,0]=(-0.585329524103)*x[0]**o+(0.590285924441)*x[0]+(0.201483726322)*x[1]**o+(-0.735262197689)*x[1]
35420            arg[2,0,1,1]=(-0.682877182963)*x[0]**o+(-0.162682262799)*x[0]+(-0.890051459843)*x[1]**o+(-0.0188015866765)*x[1]
35421            arg[2,0,2,0]=(0.868935476294)*x[0]**o+(-0.629891068854)*x[0]+(0.335632865663)*x[1]**o+(-0.955849055716)*x[1]
35422            arg[2,0,2,1]=(-0.907933228238)*x[0]**o+(-0.105861987974)*x[0]+(-0.131372383042)*x[1]**o+(-0.970114136854)*x[1]
35423            arg[2,1,0,0]=(-0.275788501814)*x[0]**o+(-0.992861867033)*x[0]+(-0.80676324962)*x[1]**o+(0.269244680224)*x[1]
35424            arg[2,1,0,1]=(-0.704704138774)*x[0]**o+(-0.371803193009)*x[0]+(-0.0190586405922)*x[1]**o+(-0.0828837624698)*x[1]
35425            arg[2,1,1,0]=(-0.532645566013)*x[0]**o+(0.571754809868)*x[0]+(0.656737493773)*x[1]**o+(-0.548229591842)*x[1]
35426            arg[2,1,1,1]=(0.23836921087)*x[0]**o+(0.707475737785)*x[0]+(-0.59660155968)*x[1]**o+(-0.450204951071)*x[1]
35427            arg[2,1,2,0]=(-0.534027348014)*x[0]**o+(0.332100193727)*x[0]+(-0.864157138567)*x[1]**o+(-0.41833267066)*x[1]
35428            arg[2,1,2,1]=(0.459878593269)*x[0]**o+(0.446259140228)*x[0]+(0.571242887502)*x[1]**o+(-0.0390525669486)*x[1]
35429            arg[2,2,0,0]=(0.322052799527)*x[0]**o+(-0.915265209304)*x[0]+(-0.99942007618)*x[1]**o+(0.482294513743)*x[1]
35430            arg[2,2,0,1]=(0.558489194456)*x[0]**o+(0.00400576554086)*x[0]+(-0.87484330165)*x[1]**o+(-0.664504218977)*x[1]
35431            arg[2,2,1,0]=(0.669621607461)*x[0]**o+(-0.0450960554319)*x[0]+(-0.221151480246)*x[1]**o+(0.0123621737211)*x[1]
35432            arg[2,2,1,1]=(0.476743013029)*x[0]**o+(0.11118371822)*x[0]+(-0.202074315677)*x[1]**o+(0.377649433458)*x[1]
35433            arg[2,2,2,0]=(0.667910543701)*x[0]**o+(0.035703922547)*x[0]+(-0.274733967095)*x[1]**o+(-0.998934720182)*x[1]
35434            arg[2,2,2,1]=(0.578909660087)*x[0]**o+(0.149900086514)*x[0]+(-0.226597651858)*x[1]**o+(0.169175812287)*x[1]
35435            arg[2,3,0,0]=(0.158370246586)*x[0]**o+(0.595643112285)*x[0]+(-0.476875564052)*x[1]**o+(0.869752657517)*x[1]
35436            arg[2,3,0,1]=(0.99718847714)*x[0]**o+(0.581531822297)*x[0]+(-0.607102775564)*x[1]**o+(-0.8317970284)*x[1]
35437            arg[2,3,1,0]=(-0.27390195745)*x[0]**o+(0.0512853330414)*x[0]+(0.465190666302)*x[1]**o+(0.042533388788)*x[1]
35438            arg[2,3,1,1]=(-0.183679504962)*x[0]**o+(-0.0522782076121)*x[0]+(0.921423118529)*x[1]**o+(-0.0315080275225)*x[1]
35439            arg[2,3,2,0]=(0.0421842348778)*x[0]**o+(0.462023049702)*x[0]+(-0.888342606803)*x[1]**o+(-0.956503447884)*x[1]
35440            arg[2,3,2,1]=(-0.950820288444)*x[0]**o+(0.104271990168)*x[0]+(-0.607212909582)*x[1]**o+(-0.16283931259)*x[1]
35441            arg[2,4,0,0]=(0.113505933533)*x[0]**o+(0.27873514806)*x[0]+(0.736699443523)*x[1]**o+(-0.951737555693)*x[1]
35442            arg[2,4,0,1]=(0.264170584849)*x[0]**o+(-0.226649236617)*x[0]+(0.489902180874)*x[1]**o+(-0.191536591762)*x[1]
35443            arg[2,4,1,0]=(0.712322285985)*x[0]**o+(-0.323395455815)*x[0]+(-0.298356681586)*x[1]**o+(0.699891974541)*x[1]
35444            arg[2,4,1,1]=(-0.631057763255)*x[0]**o+(-0.489374933445)*x[0]+(-0.021591806874)*x[1]**o+(-0.692800124585)*x[1]
35445            arg[2,4,2,0]=(0.916068935184)*x[0]**o+(0.33779688858)*x[0]+(0.06300443559)*x[1]**o+(-0.231385203399)*x[1]
35446            arg[2,4,2,1]=(-0.283485044625)*x[0]**o+(0.548366574442)*x[0]+(-0.543953132872)*x[1]**o+(-0.956662823037)*x[1]
35447            arg[3,0,0,0]=(0.709349274221)*x[0]**o+(-0.342981009263)*x[0]+(-0.682331761929)*x[1]**o+(0.673169884813)*x[1]
35448            arg[3,0,0,1]=(0.236249836593)*x[0]**o+(-0.682845054434)*x[0]+(-0.349169988218)*x[1]**o+(0.502684425824)*x[1]
35449            arg[3,0,1,0]=(-0.561655748793)*x[0]**o+(0.120183772326)*x[0]+(-0.966535325583)*x[1]**o+(-0.0585117264949)*x[1]
35450            arg[3,0,1,1]=(-0.661030287189)*x[0]**o+(-0.322924086505)*x[0]+(-0.986892059552)*x[1]**o+(-0.778969361365)*x[1]
35451            arg[3,0,2,0]=(-0.166307107307)*x[0]**o+(0.612931303617)*x[0]+(-0.283925165456)*x[1]**o+(0.5998038814)*x[1]
35452            arg[3,0,2,1]=(0.205099355916)*x[0]**o+(-0.520970536278)*x[0]+(0.900416833183)*x[1]**o+(0.981826306069)*x[1]
35453            arg[3,1,0,0]=(-0.875306666443)*x[0]**o+(0.0189358479861)*x[0]+(0.101187857445)*x[1]**o+(-0.873584307534)*x[1]
35454            arg[3,1,0,1]=(-0.0203656235757)*x[0]**o+(-0.579229777042)*x[0]+(-0.0799345631826)*x[1]**o+(0.896315444069)*x[1]
35455            arg[3,1,1,0]=(0.576791459982)*x[0]**o+(-0.86541815506)*x[0]+(-0.582764176207)*x[1]**o+(-0.249437395011)*x[1]
35456            arg[3,1,1,1]=(0.525953680497)*x[0]**o+(-0.222445717402)*x[0]+(-0.87710202063)*x[1]**o+(-0.762921821973)*x[1]
35457            arg[3,1,2,0]=(-0.883737185908)*x[0]**o+(0.254053241277)*x[0]+(0.559803298059)*x[1]**o+(-0.577376956856)*x[1]
35458            arg[3,1,2,1]=(-0.125792083387)*x[0]**o+(-0.771549307509)*x[0]+(0.142493480552)*x[1]**o+(0.459996962548)*x[1]
35459            arg[3,2,0,0]=(0.0531598927049)*x[0]**o+(-0.950343229037)*x[0]+(-0.748240453154)*x[1]**o+(0.850555892342)*x[1]
35460            arg[3,2,0,1]=(-0.660852152041)*x[0]**o+(-0.763119278604)*x[0]+(-0.811925409663)*x[1]**o+(-0.178765071495)*x[1]
35461            arg[3,2,1,0]=(-0.189124223305)*x[0]**o+(-0.410392909042)*x[0]+(0.993247167522)*x[1]**o+(0.291451796298)*x[1]
35462            arg[3,2,1,1]=(0.83496133421)*x[0]**o+(0.695147480265)*x[0]+(0.444420524946)*x[1]**o+(0.107454620114)*x[1]
35463            arg[3,2,2,0]=(0.94687479313)*x[0]**o+(-0.140702324395)*x[0]+(0.149203502428)*x[1]**o+(-0.338246126345)*x[1]
35464            arg[3,2,2,1]=(0.147609394709)*x[0]**o+(-0.549219765239)*x[0]+(0.397308993347)*x[1]**o+(0.0402189312685)*x[1]
35465            arg[3,3,0,0]=(0.27400981409)*x[0]**o+(-0.516367266257)*x[0]+(-0.784095952814)*x[1]**o+(0.32858899009)*x[1]
35466            arg[3,3,0,1]=(-0.393457382163)*x[0]**o+(0.590406794051)*x[0]+(0.328523918357)*x[1]**o+(0.899537513355)*x[1]
35467            arg[3,3,1,0]=(-0.851038623366)*x[0]**o+(0.596974864726)*x[0]+(-0.338630687551)*x[1]**o+(0.634961435042)*x[1]
35468            arg[3,3,1,1]=(0.569166143918)*x[0]**o+(-0.388162282491)*x[0]+(0.764830536733)*x[1]**o+(-0.426737342542)*x[1]
35469            arg[3,3,2,0]=(0.502221903448)*x[0]**o+(0.940382225897)*x[0]+(0.563444730579)*x[1]**o+(0.023210869151)*x[1]
35470            arg[3,3,2,1]=(0.061695403852)*x[0]**o+(0.868302188758)*x[0]+(0.0855803325758)*x[1]**o+(-0.24366173638)*x[1]
35471            arg[3,4,0,0]=(-0.533038182387)*x[0]**o+(0.0222388915737)*x[0]+(0.529037752769)*x[1]**o+(-0.0665320895494)*x[1]
35472            arg[3,4,0,1]=(0.714374055253)*x[0]**o+(-0.623670743333)*x[0]+(-0.866024792929)*x[1]**o+(-0.0673124896111)*x[1]
35473            arg[3,4,1,0]=(-0.0523466615045)*x[0]**o+(-0.472563426622)*x[0]+(0.139892673626)*x[1]**o+(0.539655417178)*x[1]
35474            arg[3,4,1,1]=(-0.473032580514)*x[0]**o+(0.692812093618)*x[0]+(0.664400517742)*x[1]**o+(0.184125423364)*x[1]
35475            arg[3,4,2,0]=(-0.0340798058725)*x[0]**o+(-0.58900562863)*x[0]+(0.396856384717)*x[1]**o+(-0.559175428019)*x[1]
35476            arg[3,4,2,1]=(-0.217679376634)*x[0]**o+(-0.90389036667)*x[0]+(0.967372942873)*x[1]**o+(-0.482913619277)*x[1]
35477            ref[0,0,0,0]=(-0.717741572212)*x_ref[0]**o+(-0.771801794802)*x_ref[0]+(-0.782201793954)*x_ref[1]**o+(0.125253178673)*x_ref[1]
35478            ref[0,0,0,1]=(-0.483339499341)*x_ref[0]**o+(0.0177945970437)*x_ref[0]+(0.233532060933)*x_ref[1]**o+(-0.465948890703)*x_ref[1]
35479            ref[0,0,1,0]=(0.140544455071)*x_ref[0]**o+(-0.120145399579)*x_ref[0]+(-0.0732045826929)*x_ref[1]**o+(-0.738165902415)*x_ref[1]
35480            ref[0,0,1,1]=(0.98057407477)*x_ref[0]**o+(0.346125329427)*x_ref[0]+(0.697386820108)*x_ref[1]**o+(0.402406370862)*x_ref[1]
35481            ref[0,0,2,0]=(0.347641628204)*x_ref[0]**o+(-0.217938924727)*x_ref[0]+(-0.0572727430966)*x_ref[1]**o+(0.170631149745)*x_ref[1]
35482            ref[0,0,2,1]=(0.621840702108)*x_ref[0]**o+(-0.109219941839)*x_ref[0]+(0.894052962811)*x_ref[1]**o+(0.423894680808)*x_ref[1]
35483            ref[0,1,0,0]=(0.0339315069567)*x_ref[0]**o+(-0.655546201957)*x_ref[0]+(-0.271776247317)*x_ref[1]**o+(0.4760527815)*x_ref[1]
35484            ref[0,1,0,1]=(0.904216237912)*x_ref[0]**o+(0.974869309983)*x_ref[0]+(0.678379481202)*x_ref[1]**o+(0.602534020957)*x_ref[1]
35485            ref[0,1,1,0]=(-0.98805028173)*x_ref[0]**o+(0.255251214419)*x_ref[0]+(0.659010647624)*x_ref[1]**o+(-0.45360685971)*x_ref[1]
35486            ref[0,1,1,1]=(0.0884339867328)*x_ref[0]**o+(-0.325188714625)*x_ref[0]+(0.158562643552)*x_ref[1]**o+(-0.788600388567)*x_ref[1]
35487            ref[0,1,2,0]=(0.976404407593)*x_ref[0]**o+(0.353231650963)*x_ref[0]+(0.546951413477)*x_ref[1]**o+(0.0738098551899)*x_ref[1]
35488            ref[0,1,2,1]=(-0.812156797654)*x_ref[0]**o+(-0.0180014270879)*x_ref[0]+(0.686011517957)*x_ref[1]**o+(0.148522434365)*x_ref[1]
35489            ref[0,2,0,0]=(-0.40018516407)*x_ref[0]**o+(-0.0512695503575)*x_ref[0]+(-0.715512784143)*x_ref[1]**o+(0.111064716031)*x_ref[1]
35490            ref[0,2,0,1]=(-0.963397739298)*x_ref[0]**o+(0.406951519848)*x_ref[0]+(-0.293539028967)*x_ref[1]**o+(-0.549328925146)*x_ref[1]
35491            ref[0,2,1,0]=(-0.00827402449089)*x_ref[0]**o+(-0.657982352244)*x_ref[0]+(-0.515966831052)*x_ref[1]**o+(0.531853371259)*x_ref[1]
35492            ref[0,2,1,1]=(0.0379862601491)*x_ref[0]**o+(0.988691147833)*x_ref[0]+(0.820623911484)*x_ref[1]**o+(0.689064076022)*x_ref[1]
35493            ref[0,2,2,0]=(-0.857638654259)*x_ref[0]**o+(0.664968676908)*x_ref[0]+(-0.228424264597)*x_ref[1]**o+(0.740003679791)*x_ref[1]
35494            ref[0,2,2,1]=(0.456486069586)*x_ref[0]**o+(-0.510130176146)*x_ref[0]+(-0.189525160745)*x_ref[1]**o+(0.497975981413)*x_ref[1]
35495            ref[0,3,0,0]=(-0.981633737105)*x_ref[0]**o+(0.25636883881)*x_ref[0]+(-0.0477676975467)*x_ref[1]**o+(0.654475880014)*x_ref[1]
35496            ref[0,3,0,1]=(-0.0710284929969)*x_ref[0]**o+(0.338590765191)*x_ref[0]+(0.639048913997)*x_ref[1]**o+(-0.24999606762)*x_ref[1]
35497            ref[0,3,1,0]=(-0.731484482659)*x_ref[0]**o+(-0.808253846389)*x_ref[0]+(-0.911723431862)*x_ref[1]**o+(-0.266029942425)*x_ref[1]
35498            ref[0,3,1,1]=(0.909037857376)*x_ref[0]**o+(-0.164525039433)*x_ref[0]+(-0.924332370345)*x_ref[1]**o+(0.476479399362)*x_ref[1]
35499            ref[0,3,2,0]=(0.00534173833653)*x_ref[0]**o+(-0.435160515142)*x_ref[0]+(0.402701511687)*x_ref[1]**o+(0.161631276653)*x_ref[1]
35500            ref[0,3,2,1]=(-0.595791669027)*x_ref[0]**o+(0.170580206948)*x_ref[0]+(0.468802250813)*x_ref[1]**o+(-0.881472636722)*x_ref[1]
35501            ref[0,4,0,0]=(-0.0739506349513)*x_ref[0]**o+(0.513385505957)*x_ref[0]+(0.046977740371)*x_ref[1]**o+(0.95763159987)*x_ref[1]
35502            ref[0,4,0,1]=(-0.286789006223)*x_ref[0]**o+(0.017476293519)*x_ref[0]+(0.637378781092)*x_ref[1]**o+(-0.670201122126)*x_ref[1]
35503            ref[0,4,1,0]=(0.159607100455)*x_ref[0]**o+(0.715341910227)*x_ref[0]+(0.949546645819)*x_ref[1]**o+(0.362982182775)*x_ref[1]
35504            ref[0,4,1,1]=(-0.237702024358)*x_ref[0]**o+(-0.520488841454)*x_ref[0]+(0.606333933569)*x_ref[1]**o+(-0.00662757701049)*x_ref[1]
35505            ref[0,4,2,0]=(-0.415753817901)*x_ref[0]**o+(0.731285464784)*x_ref[0]+(0.15987336144)*x_ref[1]**o+(0.0697706236338)*x_ref[1]
35506            ref[0,4,2,1]=(0.0467482158427)*x_ref[0]**o+(0.306004722736)*x_ref[0]+(-0.905184725692)*x_ref[1]**o+(-0.158017889366)*x_ref[1]
35507            ref[1,0,0,0]=(-0.785535082426)*x_ref[0]**o+(-0.189285100452)*x_ref[0]+(-0.766349940057)*x_ref[1]**o+(0.531469308995)*x_ref[1]
35508            ref[1,0,0,1]=(0.522213196477)*x_ref[0]**o+(-0.661381741437)*x_ref[0]+(0.816089886956)*x_ref[1]**o+(0.139829382305)*x_ref[1]
35509            ref[1,0,1,0]=(0.0957295570417)*x_ref[0]**o+(-0.105252674536)*x_ref[0]+(-0.569429953382)*x_ref[1]**o+(-0.801934666657)*x_ref[1]
35510            ref[1,0,1,1]=(-0.557307051058)*x_ref[0]**o+(0.218852576416)*x_ref[0]+(0.430167216464)*x_ref[1]**o+(-0.112285681761)*x_ref[1]
35511            ref[1,0,2,0]=(0.288472422477)*x_ref[0]**o+(0.294377994763)*x_ref[0]+(-0.809503961511)*x_ref[1]**o+(0.357020226991)*x_ref[1]
35512            ref[1,0,2,1]=(-0.148113477705)*x_ref[0]**o+(0.164468646294)*x_ref[0]+(0.7977142476)*x_ref[1]**o+(-0.407274933384)*x_ref[1]
35513            ref[1,1,0,0]=(-0.926374434822)*x_ref[0]**o+(-0.107713463193)*x_ref[0]+(-0.511635723869)*x_ref[1]**o+(0.259319717689)*x_ref[1]
35514            ref[1,1,0,1]=(-0.18636582243)*x_ref[0]**o+(0.698258973628)*x_ref[0]+(0.234379281397)*x_ref[1]**o+(0.596195875495)*x_ref[1]
35515            ref[1,1,1,0]=(-0.180395892006)*x_ref[0]**o+(0.631248500084)*x_ref[0]+(0.104751616377)*x_ref[1]**o+(0.204500206653)*x_ref[1]
35516            ref[1,1,1,1]=(-0.517119564238)*x_ref[0]**o+(-0.16634015634)*x_ref[0]+(0.556785586675)*x_ref[1]**o+(0.42659306392)*x_ref[1]
35517            ref[1,1,2,0]=(0.163807238958)*x_ref[0]**o+(-0.534619478446)*x_ref[0]+(-0.700353460753)*x_ref[1]**o+(0.121393131648)*x_ref[1]
35518            ref[1,1,2,1]=(0.964276278961)*x_ref[0]**o+(0.846030751304)*x_ref[0]+(-0.745301894392)*x_ref[1]**o+(0.33821485558)*x_ref[1]
35519            ref[1,2,0,0]=(0.333173101086)*x_ref[0]**o+(0.774848048743)*x_ref[0]+(-0.659091916357)*x_ref[1]**o+(-0.797247144497)*x_ref[1]
35520            ref[1,2,0,1]=(0.0581394534285)*x_ref[0]**o+(-0.524771663031)*x_ref[0]+(-0.519465753317)*x_ref[1]**o+(0.71748795226)*x_ref[1]
35521            ref[1,2,1,0]=(0.224935262833)*x_ref[0]**o+(-0.393399819306)*x_ref[0]+(0.199349075224)*x_ref[1]**o+(-0.808847009412)*x_ref[1]
35522            ref[1,2,1,1]=(0.0385750795521)*x_ref[0]**o+(-8.09949553151e-05)*x_ref[0]+(0.496860964506)*x_ref[1]**o+(0.0119507407829)*x_ref[1]
35523            ref[1,2,2,0]=(0.876341556167)*x_ref[0]**o+(0.18082766372)*x_ref[0]+(0.401349871827)*x_ref[1]**o+(-0.543439037303)*x_ref[1]
35524            ref[1,2,2,1]=(-0.894525004507)*x_ref[0]**o+(-0.516771143695)*x_ref[0]+(0.0410916490263)*x_ref[1]**o+(0.753841618439)*x_ref[1]
35525            ref[1,3,0,0]=(0.251979970924)*x_ref[0]**o+(0.790276550438)*x_ref[0]+(-0.155708793888)*x_ref[1]**o+(0.28971278336)*x_ref[1]
35526            ref[1,3,0,1]=(0.258336265436)*x_ref[0]**o+(0.696642875149)*x_ref[0]+(0.0561355915649)*x_ref[1]**o+(0.601839744417)*x_ref[1]
35527            ref[1,3,1,0]=(-0.978729102785)*x_ref[0]**o+(0.335280613262)*x_ref[0]+(0.89228798232)*x_ref[1]**o+(-0.693050679348)*x_ref[1]
35528            ref[1,3,1,1]=(-0.885817753431)*x_ref[0]**o+(-0.0641571535708)*x_ref[0]+(-0.649578576181)*x_ref[1]**o+(-0.95773137602)*x_ref[1]
35529            ref[1,3,2,0]=(-0.333891001461)*x_ref[0]**o+(-0.496064308564)*x_ref[0]+(0.438549603377)*x_ref[1]**o+(0.0772468142672)*x_ref[1]
35530            ref[1,3,2,1]=(-0.16171788255)*x_ref[0]**o+(-0.939293453222)*x_ref[0]+(-0.284522648546)*x_ref[1]**o+(0.744642328375)*x_ref[1]
35531            ref[1,4,0,0]=(0.806133262332)*x_ref[0]**o+(-0.0225320206432)*x_ref[0]+(0.125958642606)*x_ref[1]**o+(0.610630249467)*x_ref[1]
35532            ref[1,4,0,1]=(0.657971870946)*x_ref[0]**o+(0.698894701525)*x_ref[0]+(-0.595952612496)*x_ref[1]**o+(-0.38268841292)*x_ref[1]
35533            ref[1,4,1,0]=(-0.277274411331)*x_ref[0]**o+(-0.483183004514)*x_ref[0]+(0.77656657009)*x_ref[1]**o+(-0.959290466645)*x_ref[1]
35534            ref[1,4,1,1]=(-0.96384356305)*x_ref[0]**o+(-0.00383301781476)*x_ref[0]+(0.788010409608)*x_ref[1]**o+(0.135378744316)*x_ref[1]
35535            ref[1,4,2,0]=(0.986761958017)*x_ref[0]**o+(-0.570276378038)*x_ref[0]+(-0.515784028315)*x_ref[1]**o+(0.487125123439)*x_ref[1]
35536            ref[1,4,2,1]=(-0.954735054702)*x_ref[0]**o+(-0.0610323074217)*x_ref[0]+(-0.255284859281)*x_ref[1]**o+(0.277795725698)*x_ref[1]
35537            ref[2,0,0,0]=(-0.708301219324)*x_ref[0]**o+(-0.970166781553)*x_ref[0]+(-0.0836451425855)*x_ref[1]**o+(0.525854202995)*x_ref[1]
35538            ref[2,0,0,1]=(-0.0995393865183)*x_ref[0]**o+(-0.0156624820324)*x_ref[0]+(0.225529316197)*x_ref[1]**o+(0.142617834056)*x_ref[1]
35539            ref[2,0,1,0]=(-0.585329524103)*x_ref[0]**o+(0.590285924441)*x_ref[0]+(0.201483726322)*x_ref[1]**o+(-0.735262197689)*x_ref[1]
35540            ref[2,0,1,1]=(-0.682877182963)*x_ref[0]**o+(-0.162682262799)*x_ref[0]+(-0.890051459843)*x_ref[1]**o+(-0.0188015866765)*x_ref[1]
35541            ref[2,0,2,0]=(0.868935476294)*x_ref[0]**o+(-0.629891068854)*x_ref[0]+(0.335632865663)*x_ref[1]**o+(-0.955849055716)*x_ref[1]
35542            ref[2,0,2,1]=(-0.907933228238)*x_ref[0]**o+(-0.105861987974)*x_ref[0]+(-0.131372383042)*x_ref[1]**o+(-0.970114136854)*x_ref[1]
35543            ref[2,1,0,0]=(-0.275788501814)*x_ref[0]**o+(-0.992861867033)*x_ref[0]+(-0.80676324962)*x_ref[1]**o+(0.269244680224)*x_ref[1]
35544            ref[2,1,0,1]=(-0.704704138774)*x_ref[0]**o+(-0.371803193009)*x_ref[0]+(-0.0190586405922)*x_ref[1]**o+(-0.0828837624698)*x_ref[1]
35545            ref[2,1,1,0]=(-0.532645566013)*x_ref[0]**o+(0.571754809868)*x_ref[0]+(0.656737493773)*x_ref[1]**o+(-0.548229591842)*x_ref[1]
35546            ref[2,1,1,1]=(0.23836921087)*x_ref[0]**o+(0.707475737785)*x_ref[0]+(-0.59660155968)*x_ref[1]**o+(-0.450204951071)*x_ref[1]
35547            ref[2,1,2,0]=(-0.534027348014)*x_ref[0]**o+(0.332100193727)*x_ref[0]+(-0.864157138567)*x_ref[1]**o+(-0.41833267066)*x_ref[1]
35548            ref[2,1,2,1]=(0.459878593269)*x_ref[0]**o+(0.446259140228)*x_ref[0]+(0.571242887502)*x_ref[1]**o+(-0.0390525669486)*x_ref[1]
35549            ref[2,2,0,0]=(0.322052799527)*x_ref[0]**o+(-0.915265209304)*x_ref[0]+(-0.99942007618)*x_ref[1]**o+(0.482294513743)*x_ref[1]
35550            ref[2,2,0,1]=(0.558489194456)*x_ref[0]**o+(0.00400576554086)*x_ref[0]+(-0.87484330165)*x_ref[1]**o+(-0.664504218977)*x_ref[1]
35551            ref[2,2,1,0]=(0.669621607461)*x_ref[0]**o+(-0.0450960554319)*x_ref[0]+(-0.221151480246)*x_ref[1]**o+(0.0123621737211)*x_ref[1]
35552            ref[2,2,1,1]=(0.476743013029)*x_ref[0]**o+(0.11118371822)*x_ref[0]+(-0.202074315677)*x_ref[1]**o+(0.377649433458)*x_ref[1]
35553            ref[2,2,2,0]=(0.667910543701)*x_ref[0]**o+(0.035703922547)*x_ref[0]+(-0.274733967095)*x_ref[1]**o+(-0.998934720182)*x_ref[1]
35554            ref[2,2,2,1]=(0.578909660087)*x_ref[0]**o+(0.149900086514)*x_ref[0]+(-0.226597651858)*x_ref[1]**o+(0.169175812287)*x_ref[1]
35555            ref[2,3,0,0]=(0.158370246586)*x_ref[0]**o+(0.595643112285)*x_ref[0]+(-0.476875564052)*x_ref[1]**o+(0.869752657517)*x_ref[1]
35556            ref[2,3,0,1]=(0.99718847714)*x_ref[0]**o+(0.581531822297)*x_ref[0]+(-0.607102775564)*x_ref[1]**o+(-0.8317970284)*x_ref[1]
35557            ref[2,3,1,0]=(-0.27390195745)*x_ref[0]**o+(0.0512853330414)*x_ref[0]+(0.465190666302)*x_ref[1]**o+(0.042533388788)*x_ref[1]
35558            ref[2,3,1,1]=(-0.183679504962)*x_ref[0]**o+(-0.0522782076121)*x_ref[0]+(0.921423118529)*x_ref[1]**o+(-0.0315080275225)*x_ref[1]
35559            ref[2,3,2,0]=(0.0421842348778)*x_ref[0]**o+(0.462023049702)*x_ref[0]+(-0.888342606803)*x_ref[1]**o+(-0.956503447884)*x_ref[1]
35560            ref[2,3,2,1]=(-0.950820288444)*x_ref[0]**o+(0.104271990168)*x_ref[0]+(-0.607212909582)*x_ref[1]**o+(-0.16283931259)*x_ref[1]
35561            ref[2,4,0,0]=(0.113505933533)*x_ref[0]**o+(0.27873514806)*x_ref[0]+(0.736699443523)*x_ref[1]**o+(-0.951737555693)*x_ref[1]
35562            ref[2,4,0,1]=(0.264170584849)*x_ref[0]**o+(-0.226649236617)*x_ref[0]+(0.489902180874)*x_ref[1]**o+(-0.191536591762)*x_ref[1]
35563            ref[2,4,1,0]=(0.712322285985)*x_ref[0]**o+(-0.323395455815)*x_ref[0]+(-0.298356681586)*x_ref[1]**o+(0.699891974541)*x_ref[1]
35564            ref[2,4,1,1]=(-0.631057763255)*x_ref[0]**o+(-0.489374933445)*x_ref[0]+(-0.021591806874)*x_ref[1]**o+(-0.692800124585)*x_ref[1]
35565            ref[2,4,2,0]=(0.916068935184)*x_ref[0]**o+(0.33779688858)*x_ref[0]+(0.06300443559)*x_ref[1]**o+(-0.231385203399)*x_ref[1]
35566            ref[2,4,2,1]=(-0.283485044625)*x_ref[0]**o+(0.548366574442)*x_ref[0]+(-0.543953132872)*x_ref[1]**o+(-0.956662823037)*x_ref[1]
35567            ref[3,0,0,0]=(0.709349274221)*x_ref[0]**o+(-0.342981009263)*x_ref[0]+(-0.682331761929)*x_ref[1]**o+(0.673169884813)*x_ref[1]
35568            ref[3,0,0,1]=(0.236249836593)*x_ref[0]**o+(-0.682845054434)*x_ref[0]+(-0.349169988218)*x_ref[1]**o+(0.502684425824)*x_ref[1]
35569            ref[3,0,1,0]=(-0.561655748793)*x_ref[0]**o+(0.120183772326)*x_ref[0]+(-0.966535325583)*x_ref[1]**o+(-0.0585117264949)*x_ref[1]
35570            ref[3,0,1,1]=(-0.661030287189)*x_ref[0]**o+(-0.322924086505)*x_ref[0]+(-0.986892059552)*x_ref[1]**o+(-0.778969361365)*x_ref[1]
35571            ref[3,0,2,0]=(-0.166307107307)*x_ref[0]**o+(0.612931303617)*x_ref[0]+(-0.283925165456)*x_ref[1]**o+(0.5998038814)*x_ref[1]
35572            ref[3,0,2,1]=(0.205099355916)*x_ref[0]**o+(-0.520970536278)*x_ref[0]+(0.900416833183)*x_ref[1]**o+(0.981826306069)*x_ref[1]
35573            ref[3,1,0,0]=(-0.875306666443)*x_ref[0]**o+(0.0189358479861)*x_ref[0]+(0.101187857445)*x_ref[1]**o+(-0.873584307534)*x_ref[1]
35574            ref[3,1,0,1]=(-0.0203656235757)*x_ref[0]**o+(-0.579229777042)*x_ref[0]+(-0.0799345631826)*x_ref[1]**o+(0.896315444069)*x_ref[1]
35575            ref[3,1,1,0]=(0.576791459982)*x_ref[0]**o+(-0.86541815506)*x_ref[0]+(-0.582764176207)*x_ref[1]**o+(-0.249437395011)*x_ref[1]
35576            ref[3,1,1,1]=(0.525953680497)*x_ref[0]**o+(-0.222445717402)*x_ref[0]+(-0.87710202063)*x_ref[1]**o+(-0.762921821973)*x_ref[1]
35577            ref[3,1,2,0]=(-0.883737185908)*x_ref[0]**o+(0.254053241277)*x_ref[0]+(0.559803298059)*x_ref[1]**o+(-0.577376956856)*x_ref[1]
35578            ref[3,1,2,1]=(-0.125792083387)*x_ref[0]**o+(-0.771549307509)*x_ref[0]+(0.142493480552)*x_ref[1]**o+(0.459996962548)*x_ref[1]
35579            ref[3,2,0,0]=(0.0531598927049)*x_ref[0]**o+(-0.950343229037)*x_ref[0]+(-0.748240453154)*x_ref[1]**o+(0.850555892342)*x_ref[1]
35580            ref[3,2,0,1]=(-0.660852152041)*x_ref[0]**o+(-0.763119278604)*x_ref[0]+(-0.811925409663)*x_ref[1]**o+(-0.178765071495)*x_ref[1]
35581            ref[3,2,1,0]=(-0.189124223305)*x_ref[0]**o+(-0.410392909042)*x_ref[0]+(0.993247167522)*x_ref[1]**o+(0.291451796298)*x_ref[1]
35582            ref[3,2,1,1]=(0.83496133421)*x_ref[0]**o+(0.695147480265)*x_ref[0]+(0.444420524946)*x_ref[1]**o+(0.107454620114)*x_ref[1]
35583            ref[3,2,2,0]=(0.94687479313)*x_ref[0]**o+(-0.140702324395)*x_ref[0]+(0.149203502428)*x_ref[1]**o+(-0.338246126345)*x_ref[1]
35584            ref[3,2,2,1]=(0.147609394709)*x_ref[0]**o+(-0.549219765239)*x_ref[0]+(0.397308993347)*x_ref[1]**o+(0.0402189312685)*x_ref[1]
35585            ref[3,3,0,0]=(0.27400981409)*x_ref[0]**o+(-0.516367266257)*x_ref[0]+(-0.784095952814)*x_ref[1]**o+(0.32858899009)*x_ref[1]
35586            ref[3,3,0,1]=(-0.393457382163)*x_ref[0]**o+(0.590406794051)*x_ref[0]+(0.328523918357)*x_ref[1]**o+(0.899537513355)*x_ref[1]
35587            ref[3,3,1,0]=(-0.851038623366)*x_ref[0]**o+(0.596974864726)*x_ref[0]+(-0.338630687551)*x_ref[1]**o+(0.634961435042)*x_ref[1]
35588            ref[3,3,1,1]=(0.569166143918)*x_ref[0]**o+(-0.388162282491)*x_ref[0]+(0.764830536733)*x_ref[1]**o+(-0.426737342542)*x_ref[1]
35589            ref[3,3,2,0]=(0.502221903448)*x_ref[0]**o+(0.940382225897)*x_ref[0]+(0.563444730579)*x_ref[1]**o+(0.023210869151)*x_ref[1]
35590            ref[3,3,2,1]=(0.061695403852)*x_ref[0]**o+(0.868302188758)*x_ref[0]+(0.0855803325758)*x_ref[1]**o+(-0.24366173638)*x_ref[1]
35591            ref[3,4,0,0]=(-0.533038182387)*x_ref[0]**o+(0.0222388915737)*x_ref[0]+(0.529037752769)*x_ref[1]**o+(-0.0665320895494)*x_ref[1]
35592            ref[3,4,0,1]=(0.714374055253)*x_ref[0]**o+(-0.623670743333)*x_ref[0]+(-0.866024792929)*x_ref[1]**o+(-0.0673124896111)*x_ref[1]
35593            ref[3,4,1,0]=(-0.0523466615045)*x_ref[0]**o+(-0.472563426622)*x_ref[0]+(0.139892673626)*x_ref[1]**o+(0.539655417178)*x_ref[1]
35594            ref[3,4,1,1]=(-0.473032580514)*x_ref[0]**o+(0.692812093618)*x_ref[0]+(0.664400517742)*x_ref[1]**o+(0.184125423364)*x_ref[1]
35595            ref[3,4,2,0]=(-0.0340798058725)*x_ref[0]**o+(-0.58900562863)*x_ref[0]+(0.396856384717)*x_ref[1]**o+(-0.559175428019)*x_ref[1]
35596            ref[3,4,2,1]=(-0.217679376634)*x_ref[0]**o+(-0.90389036667)*x_ref[0]+(0.967372942873)*x_ref[1]**o+(-0.482913619277)*x_ref[1]
35597          else:
35598            arg[0,0,0,0]=(-0.93229223906)*x[0]**o+(0.176839936782)*x[0]+(0.986271000359)*x[1]**o+(-0.449322385723)*x[1]+(-0.856450437823)*x[2]**o+(0.31473579221)*x[2]
35599            arg[0,0,0,1]=(0.714047232765)*x[0]**o+(-0.323471323003)*x[0]+(0.628080480343)*x[1]**o+(-0.992007912045)*x[1]+(-0.11019723051)*x[2]**o+(-0.104735408233)*x[2]
35600            arg[0,0,1,0]=(-0.437250443294)*x[0]**o+(-0.741469652781)*x[0]+(0.650921038465)*x[1]**o+(0.679622741243)*x[1]+(0.604005894895)*x[2]**o+(0.598155624876)*x[2]
35601            arg[0,0,1,1]=(-0.574872168761)*x[0]**o+(0.796207672391)*x[0]+(-0.478046646159)*x[1]**o+(0.604661326741)*x[1]+(-0.898457020186)*x[2]**o+(0.43234750827)*x[2]
35602            arg[0,0,2,0]=(-0.674008357742)*x[0]**o+(0.699614371016)*x[0]+(0.441321981559)*x[1]**o+(-0.619688689942)*x[1]+(-0.0874579208832)*x[2]**o+(-0.925753840555)*x[2]
35603            arg[0,0,2,1]=(-0.114329474892)*x[0]**o+(0.699501071503)*x[0]+(-0.618807420683)*x[1]**o+(0.411584695002)*x[1]+(-0.234620261556)*x[2]**o+(0.585720100967)*x[2]
35604            arg[0,1,0,0]=(0.617432097253)*x[0]**o+(-0.00304868863676)*x[0]+(0.571021785645)*x[1]**o+(0.457197205728)*x[1]+(0.462895867813)*x[2]**o+(0.278022956316)*x[2]
35605            arg[0,1,0,1]=(-0.659136231188)*x[0]**o+(-0.388212920906)*x[0]+(-0.982152608232)*x[1]**o+(-0.665797156013)*x[1]+(-0.76141890649)*x[2]**o+(-0.591458323836)*x[2]
35606            arg[0,1,1,0]=(-0.488016386893)*x[0]**o+(0.965660401944)*x[0]+(0.178400189819)*x[1]**o+(0.578417314499)*x[1]+(-0.398083955217)*x[2]**o+(0.460338187535)*x[2]
35607            arg[0,1,1,1]=(-0.182086458235)*x[0]**o+(0.0842368498629)*x[0]+(-0.642008026184)*x[1]**o+(-0.0449408131957)*x[1]+(-0.927397573018)*x[2]**o+(0.854313729816)*x[2]
35608            arg[0,1,2,0]=(-0.201475872769)*x[0]**o+(0.098190765292)*x[0]+(0.808624244922)*x[1]**o+(0.0726268899898)*x[1]+(-0.605334327027)*x[2]**o+(-0.999151255934)*x[2]
35609            arg[0,1,2,1]=(0.672344024218)*x[0]**o+(-0.638554833481)*x[0]+(-0.212231801634)*x[1]**o+(-0.492765366968)*x[1]+(0.311273771921)*x[2]**o+(-0.504370655006)*x[2]
35610            arg[0,2,0,0]=(0.9944935907)*x[0]**o+(-0.365261996611)*x[0]+(-0.105667939789)*x[1]**o+(0.886935751977)*x[1]+(0.263336157757)*x[2]**o+(-0.880316523113)*x[2]
35611            arg[0,2,0,1]=(-0.659779300787)*x[0]**o+(-0.728590180152)*x[0]+(0.732078508037)*x[1]**o+(0.684963412098)*x[1]+(0.822970700012)*x[2]**o+(-0.680001879674)*x[2]
35612            arg[0,2,1,0]=(-0.207855412893)*x[0]**o+(0.438275426529)*x[0]+(0.87046682066)*x[1]**o+(-0.960322013848)*x[1]+(-0.273728198625)*x[2]**o+(-0.960137228004)*x[2]
35613            arg[0,2,1,1]=(-0.189232680002)*x[0]**o+(0.866417302002)*x[0]+(-0.93403311248)*x[1]**o+(-0.55773104878)*x[1]+(0.94062895773)*x[2]**o+(-0.758052194805)*x[2]
35614            arg[0,2,2,0]=(0.100859944394)*x[0]**o+(-0.20292135909)*x[0]+(-0.713339941261)*x[1]**o+(-0.615106454411)*x[1]+(0.791245995152)*x[2]**o+(-0.81051791594)*x[2]
35615            arg[0,2,2,1]=(0.595743424517)*x[0]**o+(-0.179075876404)*x[0]+(-0.799005601715)*x[1]**o+(-0.0554635073569)*x[1]+(-0.850510701985)*x[2]**o+(0.234516538169)*x[2]
35616            arg[0,3,0,0]=(-0.361667738861)*x[0]**o+(-0.551837498696)*x[0]+(-0.834377202094)*x[1]**o+(0.814168224265)*x[1]+(-0.00479533268377)*x[2]**o+(0.843007652951)*x[2]
35617            arg[0,3,0,1]=(-0.448417439465)*x[0]**o+(0.431496158388)*x[0]+(-0.547416443433)*x[1]**o+(-0.0746785704695)*x[1]+(-0.646238182944)*x[2]**o+(-0.318608714595)*x[2]
35618            arg[0,3,1,0]=(-0.275647366007)*x[0]**o+(-0.410594785047)*x[0]+(-0.858282378196)*x[1]**o+(-0.755586690837)*x[1]+(-0.420481091654)*x[2]**o+(-0.0996487371831)*x[2]
35619            arg[0,3,1,1]=(-0.395961249009)*x[0]**o+(0.0860896467863)*x[0]+(0.482719525748)*x[1]**o+(0.319368178133)*x[1]+(0.516449153414)*x[2]**o+(-0.246749862576)*x[2]
35620            arg[0,3,2,0]=(-0.367322027122)*x[0]**o+(0.687206412524)*x[0]+(0.616265233972)*x[1]**o+(-0.32660589112)*x[1]+(-0.944607343096)*x[2]**o+(0.123982537951)*x[2]
35621            arg[0,3,2,1]=(0.700497166804)*x[0]**o+(0.553961329865)*x[0]+(-0.34020003754)*x[1]**o+(0.295870992783)*x[1]+(-0.220275880046)*x[2]**o+(0.766121035825)*x[2]
35622            arg[0,4,0,0]=(0.405469789242)*x[0]**o+(-0.338347662873)*x[0]+(0.0761796434233)*x[1]**o+(-0.120599175033)*x[1]+(0.107865585379)*x[2]**o+(0.0711941007838)*x[2]
35623            arg[0,4,0,1]=(0.614166154899)*x[0]**o+(0.195780702963)*x[0]+(0.718935985215)*x[1]**o+(0.214577296792)*x[1]+(-0.366985242107)*x[2]**o+(-0.509584787633)*x[2]
35624            arg[0,4,1,0]=(-0.638646370981)*x[0]**o+(-0.769955899284)*x[0]+(-0.887407540503)*x[1]**o+(0.0901245429998)*x[1]+(0.786085641321)*x[2]**o+(0.6248068552)*x[2]
35625            arg[0,4,1,1]=(-0.145426222043)*x[0]**o+(-0.494114545016)*x[0]+(0.422153721335)*x[1]**o+(0.617022143901)*x[1]+(-0.665972324723)*x[2]**o+(-0.476724432799)*x[2]
35626            arg[0,4,2,0]=(0.556105252092)*x[0]**o+(-0.893268696809)*x[0]+(0.146441889489)*x[1]**o+(-0.170512113283)*x[1]+(-0.869313262875)*x[2]**o+(-0.976874109392)*x[2]
35627            arg[0,4,2,1]=(0.858927206499)*x[0]**o+(0.198998355146)*x[0]+(0.278125296049)*x[1]**o+(-0.0442518828093)*x[1]+(0.274852724203)*x[2]**o+(-0.167649193314)*x[2]
35628            arg[1,0,0,0]=(-0.0429420289353)*x[0]**o+(-0.15764693929)*x[0]+(-0.859599917512)*x[1]**o+(-0.904178643575)*x[1]+(0.519560711493)*x[2]**o+(0.258644717907)*x[2]
35629            arg[1,0,0,1]=(-0.185321114264)*x[0]**o+(-0.794493830004)*x[0]+(0.136084421162)*x[1]**o+(0.926912021419)*x[1]+(0.346392120388)*x[2]**o+(-0.183908371454)*x[2]
35630            arg[1,0,1,0]=(-0.730675509877)*x[0]**o+(0.865034802778)*x[0]+(-0.506315431878)*x[1]**o+(-0.94607761051)*x[1]+(0.195194792801)*x[2]**o+(-0.865129258879)*x[2]
35631            arg[1,0,1,1]=(-0.0597026648107)*x[0]**o+(-0.884790497)*x[0]+(-0.0631278742098)*x[1]**o+(-0.808364940737)*x[1]+(-0.968952604837)*x[2]**o+(0.142246702632)*x[2]
35632            arg[1,0,2,0]=(0.648472894563)*x[0]**o+(0.145861644073)*x[0]+(0.501227520574)*x[1]**o+(0.265886482306)*x[1]+(-0.0472772173573)*x[2]**o+(-0.364169655969)*x[2]
35633            arg[1,0,2,1]=(0.847863600695)*x[0]**o+(-0.288841685199)*x[0]+(-0.500273502795)*x[1]**o+(0.627379277592)*x[1]+(0.326814024625)*x[2]**o+(-0.514712825895)*x[2]
35634            arg[1,1,0,0]=(-0.947845713712)*x[0]**o+(-0.372115616305)*x[0]+(-0.572858279998)*x[1]**o+(0.226237627692)*x[1]+(0.210201947182)*x[2]**o+(0.0147616538594)*x[2]
35635            arg[1,1,0,1]=(-0.39813630466)*x[0]**o+(-0.658496395731)*x[0]+(-0.363906465005)*x[1]**o+(-0.816719661238)*x[1]+(-0.478106835032)*x[2]**o+(0.0819042309589)*x[2]
35636            arg[1,1,1,0]=(-0.287160278593)*x[0]**o+(-0.0281402640978)*x[0]+(0.41559795378)*x[1]**o+(0.158274458097)*x[1]+(-0.798429481502)*x[2]**o+(-0.278585334624)*x[2]
35637            arg[1,1,1,1]=(0.809550480973)*x[0]**o+(0.192026915854)*x[0]+(-0.891168838599)*x[1]**o+(0.0482621192882)*x[1]+(-0.35339708159)*x[2]**o+(-0.133161551553)*x[2]
35638            arg[1,1,2,0]=(0.939582328872)*x[0]**o+(0.561963790516)*x[0]+(0.885264722949)*x[1]**o+(-0.468042305266)*x[1]+(0.232880002429)*x[2]**o+(-0.772896005701)*x[2]
35639            arg[1,1,2,1]=(-0.297333303209)*x[0]**o+(-0.414050924207)*x[0]+(-0.278903698873)*x[1]**o+(0.345370620869)*x[1]+(-0.0570151259027)*x[2]**o+(0.786449641378)*x[2]
35640            arg[1,2,0,0]=(0.644047138589)*x[0]**o+(-0.480660438838)*x[0]+(0.32526499462)*x[1]**o+(-0.775988282127)*x[1]+(0.108374143932)*x[2]**o+(0.955463667181)*x[2]
35641            arg[1,2,0,1]=(-0.468236790339)*x[0]**o+(0.844197711724)*x[0]+(0.808973429831)*x[1]**o+(-0.647699550005)*x[1]+(0.552555959813)*x[2]**o+(-0.3403079515)*x[2]
35642            arg[1,2,1,0]=(0.864686362308)*x[0]**o+(0.248923646116)*x[0]+(0.0287042863842)*x[1]**o+(0.404974282153)*x[1]+(0.113501438234)*x[2]**o+(-0.619364894397)*x[2]
35643            arg[1,2,1,1]=(-0.625146992499)*x[0]**o+(-0.0480602452983)*x[0]+(0.168910550914)*x[1]**o+(-0.891584218123)*x[1]+(0.0609357618263)*x[2]**o+(0.0451921002161)*x[2]
35644            arg[1,2,2,0]=(-0.478728628752)*x[0]**o+(0.428376547798)*x[0]+(0.817203376818)*x[1]**o+(-0.856056266953)*x[1]+(0.354960313382)*x[2]**o+(-0.611468960461)*x[2]
35645            arg[1,2,2,1]=(0.49500742113)*x[0]**o+(0.902948130263)*x[0]+(-0.810748543744)*x[1]**o+(-0.696150924858)*x[1]+(-0.748278516161)*x[2]**o+(0.694815527058)*x[2]
35646            arg[1,3,0,0]=(-0.361960150296)*x[0]**o+(-0.845139780461)*x[0]+(-0.0624499309665)*x[1]**o+(-0.0515558058489)*x[1]+(0.400690983017)*x[2]**o+(-0.744608407974)*x[2]
35647            arg[1,3,0,1]=(-0.452453617467)*x[0]**o+(0.845396139593)*x[0]+(0.292319469936)*x[1]**o+(-0.833547518634)*x[1]+(-0.511797700353)*x[2]**o+(0.857891454773)*x[2]
35648            arg[1,3,1,0]=(0.779504092912)*x[0]**o+(0.500524773615)*x[0]+(0.590542659382)*x[1]**o+(0.479310630519)*x[1]+(0.509960641956)*x[2]**o+(-0.564980432959)*x[2]
35649            arg[1,3,1,1]=(-0.145745189298)*x[0]**o+(-0.256064576359)*x[0]+(0.640890837126)*x[1]**o+(-0.718802035152)*x[1]+(-0.322216873583)*x[2]**o+(-0.0246526526334)*x[2]
35650            arg[1,3,2,0]=(-0.463434285098)*x[0]**o+(0.116722448643)*x[0]+(-0.690378381342)*x[1]**o+(0.429197465885)*x[1]+(-0.353019731384)*x[2]**o+(0.57397712918)*x[2]
35651            arg[1,3,2,1]=(0.169676853383)*x[0]**o+(0.815225472623)*x[0]+(-0.11125527552)*x[1]**o+(0.391513831525)*x[1]+(-0.587041361585)*x[2]**o+(0.255194151616)*x[2]
35652            arg[1,4,0,0]=(0.325351608628)*x[0]**o+(-0.57751715453)*x[0]+(0.145167511303)*x[1]**o+(-0.969286030742)*x[1]+(0.917370398478)*x[2]**o+(0.691483691598)*x[2]
35653            arg[1,4,0,1]=(0.0997998298271)*x[0]**o+(-0.101248202247)*x[0]+(-0.650649653848)*x[1]**o+(-0.157887947288)*x[1]+(0.517501747765)*x[2]**o+(-0.0852921926298)*x[2]
35654            arg[1,4,1,0]=(0.984595420407)*x[0]**o+(0.499293499076)*x[0]+(0.352193115874)*x[1]**o+(-0.684522909647)*x[1]+(-0.391538373605)*x[2]**o+(0.404635595162)*x[2]
35655            arg[1,4,1,1]=(-0.231310482173)*x[0]**o+(-0.0385089836559)*x[0]+(0.247671691888)*x[1]**o+(0.883971955027)*x[1]+(-0.0856624709734)*x[2]**o+(0.942940875904)*x[2]
35656            arg[1,4,2,0]=(-0.471467257434)*x[0]**o+(0.835634240897)*x[0]+(-0.594421294562)*x[1]**o+(-0.187584387111)*x[1]+(0.859867472765)*x[2]**o+(0.930951154576)*x[2]
35657            arg[1,4,2,1]=(0.504416975601)*x[0]**o+(0.435692923635)*x[0]+(-0.296945944313)*x[1]**o+(0.815156218765)*x[1]+(0.464464247442)*x[2]**o+(-0.378809453041)*x[2]
35658            arg[2,0,0,0]=(0.213087423107)*x[0]**o+(-0.504681665801)*x[0]+(0.796352190405)*x[1]**o+(0.546752751136)*x[1]+(0.57347644664)*x[2]**o+(0.715856963195)*x[2]
35659            arg[2,0,0,1]=(-0.28455266769)*x[0]**o+(0.853162220766)*x[0]+(0.164930982863)*x[1]**o+(-0.0136996498765)*x[1]+(0.293717915079)*x[2]**o+(-0.216124158473)*x[2]
35660            arg[2,0,1,0]=(-0.328115989441)*x[0]**o+(-0.529441496488)*x[0]+(-0.43579479677)*x[1]**o+(-0.851333801194)*x[1]+(-0.278406102972)*x[2]**o+(0.947777471824)*x[2]
35661            arg[2,0,1,1]=(-0.756438938789)*x[0]**o+(-0.624332272735)*x[0]+(-0.591638429565)*x[1]**o+(-0.0608281771566)*x[1]+(-0.852078784085)*x[2]**o+(-0.526558964866)*x[2]
35662            arg[2,0,2,0]=(-0.923892426969)*x[0]**o+(0.788121899878)*x[0]+(-0.446006331202)*x[1]**o+(0.997210871574)*x[1]+(0.356998606103)*x[2]**o+(0.972643822823)*x[2]
35663            arg[2,0,2,1]=(0.225183308571)*x[0]**o+(-0.757505414777)*x[0]+(-0.59573192074)*x[1]**o+(0.57166154987)*x[1]+(0.622343198809)*x[2]**o+(0.60343970503)*x[2]
35664            arg[2,1,0,0]=(0.51027702934)*x[0]**o+(-0.711737679522)*x[0]+(-0.211712579627)*x[1]**o+(-0.495817605314)*x[1]+(0.924425804272)*x[2]**o+(0.753424835275)*x[2]
35665            arg[2,1,0,1]=(0.476218252577)*x[0]**o+(0.187579891557)*x[0]+(0.727359583623)*x[1]**o+(-0.389875559955)*x[1]+(-0.352889326477)*x[2]**o+(0.365143943637)*x[2]
35666            arg[2,1,1,0]=(-0.815704312943)*x[0]**o+(0.315217470245)*x[0]+(-0.535234555065)*x[1]**o+(-0.433408988501)*x[1]+(-0.676694087389)*x[2]**o+(0.384097177718)*x[2]
35667            arg[2,1,1,1]=(-0.0368452411345)*x[0]**o+(0.514540686444)*x[0]+(-0.527100066965)*x[1]**o+(0.0291015562912)*x[1]+(-0.605646905004)*x[2]**o+(0.931528599981)*x[2]
35668            arg[2,1,2,0]=(-0.0994015945266)*x[0]**o+(-0.762310347434)*x[0]+(-0.845934950466)*x[1]**o+(-0.235758967923)*x[1]+(0.755531422698)*x[2]**o+(0.108353867777)*x[2]
35669            arg[2,1,2,1]=(-0.868779052889)*x[0]**o+(0.783878941075)*x[0]+(0.900089560473)*x[1]**o+(-0.836779405877)*x[1]+(-0.799571882449)*x[2]**o+(0.999710029157)*x[2]
35670            arg[2,2,0,0]=(0.541465277143)*x[0]**o+(-0.840477797945)*x[0]+(-0.362577721098)*x[1]**o+(0.00680131806718)*x[1]+(-0.338485239867)*x[2]**o+(0.828213756751)*x[2]
35671            arg[2,2,0,1]=(-0.927347423175)*x[0]**o+(-0.936191125785)*x[0]+(-0.411819804833)*x[1]**o+(-0.0222067637269)*x[1]+(-0.104411832586)*x[2]**o+(-0.79937203081)*x[2]
35672            arg[2,2,1,0]=(0.273051712848)*x[0]**o+(-0.802468557957)*x[0]+(-0.019392898867)*x[1]**o+(-0.612803074784)*x[1]+(-0.269705464223)*x[2]**o+(-0.244405147706)*x[2]
35673            arg[2,2,1,1]=(-0.08869649035)*x[0]**o+(0.809761782447)*x[0]+(0.761420080249)*x[1]**o+(0.16590038557)*x[1]+(-0.405657593445)*x[2]**o+(0.123593603037)*x[2]
35674            arg[2,2,2,0]=(-0.799691160987)*x[0]**o+(0.834835690475)*x[0]+(-0.0863569221737)*x[1]**o+(0.988343215152)*x[1]+(0.294423283474)*x[2]**o+(0.325725138203)*x[2]
35675            arg[2,2,2,1]=(0.648897496592)*x[0]**o+(-0.474329387314)*x[0]+(-0.904613697104)*x[1]**o+(0.382201388286)*x[1]+(-0.596889148339)*x[2]**o+(0.705132157684)*x[2]
35676            arg[2,3,0,0]=(0.906738144045)*x[0]**o+(-0.365392026426)*x[0]+(0.730557428733)*x[1]**o+(-0.857864471189)*x[1]+(-0.160930657186)*x[2]**o+(0.885067383334)*x[2]
35677            arg[2,3,0,1]=(0.992764702472)*x[0]**o+(0.720688532948)*x[0]+(0.318869772818)*x[1]**o+(0.995508347248)*x[1]+(0.108569456996)*x[2]**o+(-0.990939292995)*x[2]
35678            arg[2,3,1,0]=(0.690584992096)*x[0]**o+(0.605885242246)*x[0]+(0.72371794265)*x[1]**o+(-0.632609325879)*x[1]+(0.520273588734)*x[2]**o+(0.885804143155)*x[2]
35679            arg[2,3,1,1]=(0.485231542482)*x[0]**o+(0.866920225418)*x[0]+(-0.814964945972)*x[1]**o+(0.544132513209)*x[1]+(-0.155071376494)*x[2]**o+(-0.941300746237)*x[2]
35680            arg[2,3,2,0]=(0.748232238388)*x[0]**o+(0.179397724419)*x[0]+(-0.43881886248)*x[1]**o+(-0.124941799624)*x[1]+(0.14679335819)*x[2]**o+(-0.758738846688)*x[2]
35681            arg[2,3,2,1]=(-0.0951333655337)*x[0]**o+(0.37270972476)*x[0]+(-0.651977554115)*x[1]**o+(-0.88918597476)*x[1]+(-0.730858685576)*x[2]**o+(0.685881924459)*x[2]
35682            arg[2,4,0,0]=(-0.823487466802)*x[0]**o+(-0.583630855643)*x[0]+(-0.664814562747)*x[1]**o+(0.860952605956)*x[1]+(-0.249114322668)*x[2]**o+(-0.968356584237)*x[2]
35683            arg[2,4,0,1]=(0.44040146252)*x[0]**o+(-0.246827565902)*x[0]+(0.596300980733)*x[1]**o+(-0.825818200414)*x[1]+(0.0715512875967)*x[2]**o+(0.996064679803)*x[2]
35684            arg[2,4,1,0]=(-0.287806453021)*x[0]**o+(0.704331542927)*x[0]+(-0.346139754521)*x[1]**o+(-0.766667037125)*x[1]+(0.283874132105)*x[2]**o+(-0.613145979204)*x[2]
35685            arg[2,4,1,1]=(-0.116649875156)*x[0]**o+(0.291380048239)*x[0]+(0.689809221905)*x[1]**o+(0.758935910592)*x[1]+(0.505142787603)*x[2]**o+(-0.113611480503)*x[2]
35686            arg[2,4,2,0]=(-0.836908572692)*x[0]**o+(-0.21892828725)*x[0]+(-0.935780103868)*x[1]**o+(0.106204643268)*x[1]+(-0.894474423807)*x[2]**o+(0.296554773217)*x[2]
35687            arg[2,4,2,1]=(-0.89413495023)*x[0]**o+(0.6080813058)*x[0]+(0.087863889878)*x[1]**o+(0.213373665612)*x[1]+(0.17085345025)*x[2]**o+(-0.967625138712)*x[2]
35688            arg[3,0,0,0]=(0.327537677409)*x[0]**o+(-0.299373059373)*x[0]+(-0.43223648542)*x[1]**o+(-0.499115781051)*x[1]+(0.145464567449)*x[2]**o+(0.580930584563)*x[2]
35689            arg[3,0,0,1]=(-0.122622543351)*x[0]**o+(-0.220547821081)*x[0]+(0.892679827803)*x[1]**o+(0.436584604381)*x[1]+(-0.156093580288)*x[2]**o+(0.464069069075)*x[2]
35690            arg[3,0,1,0]=(0.590288663203)*x[0]**o+(-0.212929445251)*x[0]+(0.0899671639061)*x[1]**o+(-0.87729854872)*x[1]+(0.789506558716)*x[2]**o+(-0.68867690907)*x[2]
35691            arg[3,0,1,1]=(-0.913651849012)*x[0]**o+(-0.430938918892)*x[0]+(-0.351186012371)*x[1]**o+(0.500306994748)*x[1]+(0.145381845281)*x[2]**o+(0.624993552333)*x[2]
35692            arg[3,0,2,0]=(0.281393881265)*x[0]**o+(-0.704727129826)*x[0]+(-0.0102091836449)*x[1]**o+(0.311857501353)*x[1]+(0.300732947904)*x[2]**o+(0.923973499548)*x[2]
35693            arg[3,0,2,1]=(-0.584907526993)*x[0]**o+(0.625732316822)*x[0]+(-0.609691930408)*x[1]**o+(0.056160226956)*x[1]+(-0.766583561947)*x[2]**o+(0.307692190194)*x[2]
35694            arg[3,1,0,0]=(0.731231379445)*x[0]**o+(-0.0485980527115)*x[0]+(0.908932758852)*x[1]**o+(0.188918035886)*x[1]+(0.685837743688)*x[2]**o+(-0.299987553989)*x[2]
35695            arg[3,1,0,1]=(-0.784006561231)*x[0]**o+(-0.809789430022)*x[0]+(-0.846391792735)*x[1]**o+(-0.211583304405)*x[1]+(-0.00198590063687)*x[2]**o+(-0.853253255224)*x[2]
35696            arg[3,1,1,0]=(0.595567299132)*x[0]**o+(-0.581734416878)*x[0]+(0.88144481486)*x[1]**o+(0.776876564509)*x[1]+(-0.367477971386)*x[2]**o+(0.0806320164453)*x[2]
35697            arg[3,1,1,1]=(0.440836187611)*x[0]**o+(-0.578925091757)*x[0]+(0.923367189832)*x[1]**o+(-0.993888173929)*x[1]+(-0.645514380411)*x[2]**o+(0.0267439044199)*x[2]
35698            arg[3,1,2,0]=(-0.305182288788)*x[0]**o+(-0.503372502553)*x[0]+(0.740948657389)*x[1]**o+(0.285661052275)*x[1]+(-0.634510984218)*x[2]**o+(-0.123979746456)*x[2]
35699            arg[3,1,2,1]=(-0.897274928495)*x[0]**o+(0.971356796164)*x[0]+(0.940768290313)*x[1]**o+(-0.552941985667)*x[1]+(0.172857451423)*x[2]**o+(0.844758237523)*x[2]
35700            arg[3,2,0,0]=(-0.903542725333)*x[0]**o+(0.936704774551)*x[0]+(-0.398085875228)*x[1]**o+(-0.304061573512)*x[1]+(-0.13362037229)*x[2]**o+(-0.405043350728)*x[2]
35701            arg[3,2,0,1]=(-0.0208590751801)*x[0]**o+(-0.354086381885)*x[0]+(0.510884698744)*x[1]**o+(-0.275504880518)*x[1]+(0.459476496356)*x[2]**o+(0.25358097976)*x[2]
35702            arg[3,2,1,0]=(-0.0171081877107)*x[0]**o+(-0.856081626112)*x[0]+(-0.0698686571004)*x[1]**o+(0.0954918361122)*x[1]+(0.938494954069)*x[2]**o+(-0.824928688248)*x[2]
35703            arg[3,2,1,1]=(-0.277307915098)*x[0]**o+(0.737855779658)*x[0]+(-0.466761948855)*x[1]**o+(-0.821498435809)*x[1]+(-0.391009601442)*x[2]**o+(0.643834542048)*x[2]
35704            arg[3,2,2,0]=(0.379015007885)*x[0]**o+(0.348646179575)*x[0]+(0.733765133901)*x[1]**o+(-0.722363571789)*x[1]+(0.488531791931)*x[2]**o+(0.279813923679)*x[2]
35705            arg[3,2,2,1]=(0.516708382119)*x[0]**o+(0.0426665103314)*x[0]+(-0.168751315718)*x[1]**o+(-0.124069236608)*x[1]+(-0.778866001674)*x[2]**o+(-0.362031001279)*x[2]
35706            arg[3,3,0,0]=(0.995284803465)*x[0]**o+(-0.442327755879)*x[0]+(-0.13110270925)*x[1]**o+(-0.172857543102)*x[1]+(-0.910522664379)*x[2]**o+(0.516931833163)*x[2]
35707            arg[3,3,0,1]=(-0.889320295626)*x[0]**o+(-0.728330379534)*x[0]+(-0.584091700627)*x[1]**o+(0.469914082337)*x[1]+(0.18874127891)*x[2]**o+(0.0846532039249)*x[2]
35708            arg[3,3,1,0]=(0.911523535462)*x[0]**o+(0.0924361220354)*x[0]+(-0.0822504494228)*x[1]**o+(0.00630249023591)*x[1]+(-0.180497330322)*x[2]**o+(0.817405577154)*x[2]
35709            arg[3,3,1,1]=(0.681872747813)*x[0]**o+(0.840680190206)*x[0]+(-0.477660295206)*x[1]**o+(0.0399086968056)*x[1]+(0.440403204247)*x[2]**o+(-0.220656197016)*x[2]
35710            arg[3,3,2,0]=(-0.967524407336)*x[0]**o+(0.896652274462)*x[0]+(0.735269328519)*x[1]**o+(-0.249017384614)*x[1]+(-0.573222311563)*x[2]**o+(-0.653800334954)*x[2]
35711            arg[3,3,2,1]=(0.10041632804)*x[0]**o+(0.167657178348)*x[0]+(0.990621134594)*x[1]**o+(-0.309063473348)*x[1]+(-0.688206827575)*x[2]**o+(0.0926806818663)*x[2]
35712            arg[3,4,0,0]=(-0.128678339518)*x[0]**o+(-0.974238160059)*x[0]+(-0.762599464772)*x[1]**o+(0.0233286358698)*x[1]+(-0.622481697973)*x[2]**o+(-0.080495303798)*x[2]
35713            arg[3,4,0,1]=(-0.380318230058)*x[0]**o+(0.568425682425)*x[0]+(0.787369916262)*x[1]**o+(0.296745245123)*x[1]+(-0.917621002414)*x[2]**o+(-0.696209404954)*x[2]
35714            arg[3,4,1,0]=(-0.382961468898)*x[0]**o+(0.672614453621)*x[0]+(0.565371503874)*x[1]**o+(-0.597331999912)*x[1]+(-0.153637846704)*x[2]**o+(-0.438159587906)*x[2]
35715            arg[3,4,1,1]=(-0.541043007799)*x[0]**o+(0.415600628159)*x[0]+(-0.793716270785)*x[1]**o+(0.780110667203)*x[1]+(-0.101309486185)*x[2]**o+(-0.138868352939)*x[2]
35716            arg[3,4,2,0]=(0.679815917569)*x[0]**o+(-0.800657537776)*x[0]+(-0.711956069893)*x[1]**o+(-0.575626146908)*x[1]+(0.184247083249)*x[2]**o+(-0.728118084396)*x[2]
35717            arg[3,4,2,1]=(-0.608089432748)*x[0]**o+(0.356378798828)*x[0]+(-0.575957599599)*x[1]**o+(0.599586825137)*x[1]+(-0.160475743299)*x[2]**o+(-0.070762356177)*x[2]
35718            ref[0,0,0,0]=(-0.93229223906)*x_ref[0]**o+(0.176839936782)*x_ref[0]+(0.986271000359)*x_ref[1]**o+(-0.449322385723)*x_ref[1]+(-0.856450437823)*x_ref[2]**o+(0.31473579221)*x_ref[2]
35719            ref[0,0,0,1]=(0.714047232765)*x_ref[0]**o+(-0.323471323003)*x_ref[0]+(0.628080480343)*x_ref[1]**o+(-0.992007912045)*x_ref[1]+(-0.11019723051)*x_ref[2]**o+(-0.104735408233)*x_ref[2]
35720            ref[0,0,1,0]=(-0.437250443294)*x_ref[0]**o+(-0.741469652781)*x_ref[0]+(0.650921038465)*x_ref[1]**o+(0.679622741243)*x_ref[1]+(0.604005894895)*x_ref[2]**o+(0.598155624876)*x_ref[2]
35721            ref[0,0,1,1]=(-0.574872168761)*x_ref[0]**o+(0.796207672391)*x_ref[0]+(-0.478046646159)*x_ref[1]**o+(0.604661326741)*x_ref[1]+(-0.898457020186)*x_ref[2]**o+(0.43234750827)*x_ref[2]
35722            ref[0,0,2,0]=(-0.674008357742)*x_ref[0]**o+(0.699614371016)*x_ref[0]+(0.441321981559)*x_ref[1]**o+(-0.619688689942)*x_ref[1]+(-0.0874579208832)*x_ref[2]**o+(-0.925753840555)*x_ref[2]
35723            ref[0,0,2,1]=(-0.114329474892)*x_ref[0]**o+(0.699501071503)*x_ref[0]+(-0.618807420683)*x_ref[1]**o+(0.411584695002)*x_ref[1]+(-0.234620261556)*x_ref[2]**o+(0.585720100967)*x_ref[2]
35724            ref[0,1,0,0]=(0.617432097253)*x_ref[0]**o+(-0.00304868863676)*x_ref[0]+(0.571021785645)*x_ref[1]**o+(0.457197205728)*x_ref[1]+(0.462895867813)*x_ref[2]**o+(0.278022956316)*x_ref[2]
35725            ref[0,1,0,1]=(-0.659136231188)*x_ref[0]**o+(-0.388212920906)*x_ref[0]+(-0.982152608232)*x_ref[1]**o+(-0.665797156013)*x_ref[1]+(-0.76141890649)*x_ref[2]**o+(-0.591458323836)*x_ref[2]
35726            ref[0,1,1,0]=(-0.488016386893)*x_ref[0]**o+(0.965660401944)*x_ref[0]+(0.178400189819)*x_ref[1]**o+(0.578417314499)*x_ref[1]+(-0.398083955217)*x_ref[2]**o+(0.460338187535)*x_ref[2]
35727            ref[0,1,1,1]=(-0.182086458235)*x_ref[0]**o+(0.0842368498629)*x_ref[0]+(-0.642008026184)*x_ref[1]**o+(-0.0449408131957)*x_ref[1]+(-0.927397573018)*x_ref[2]**o+(0.854313729816)*x_ref[2]
35728            ref[0,1,2,0]=(-0.201475872769)*x_ref[0]**o+(0.098190765292)*x_ref[0]+(0.808624244922)*x_ref[1]**o+(0.0726268899898)*x_ref[1]+(-0.605334327027)*x_ref[2]**o+(-0.999151255934)*x_ref[2]
35729            ref[0,1,2,1]=(0.672344024218)*x_ref[0]**o+(-0.638554833481)*x_ref[0]+(-0.212231801634)*x_ref[1]**o+(-0.492765366968)*x_ref[1]+(0.311273771921)*x_ref[2]**o+(-0.504370655006)*x_ref[2]
35730            ref[0,2,0,0]=(0.9944935907)*x_ref[0]**o+(-0.365261996611)*x_ref[0]+(-0.105667939789)*x_ref[1]**o+(0.886935751977)*x_ref[1]+(0.263336157757)*x_ref[2]**o+(-0.880316523113)*x_ref[2]
35731            ref[0,2,0,1]=(-0.659779300787)*x_ref[0]**o+(-0.728590180152)*x_ref[0]+(0.732078508037)*x_ref[1]**o+(0.684963412098)*x_ref[1]+(0.822970700012)*x_ref[2]**o+(-0.680001879674)*x_ref[2]
35732            ref[0,2,1,0]=(-0.207855412893)*x_ref[0]**o+(0.438275426529)*x_ref[0]+(0.87046682066)*x_ref[1]**o+(-0.960322013848)*x_ref[1]+(-0.273728198625)*x_ref[2]**o+(-0.960137228004)*x_ref[2]
35733            ref[0,2,1,1]=(-0.189232680002)*x_ref[0]**o+(0.866417302002)*x_ref[0]+(-0.93403311248)*x_ref[1]**o+(-0.55773104878)*x_ref[1]+(0.94062895773)*x_ref[2]**o+(-0.758052194805)*x_ref[2]
35734            ref[0,2,2,0]=(0.100859944394)*x_ref[0]**o+(-0.20292135909)*x_ref[0]+(-0.713339941261)*x_ref[1]**o+(-0.615106454411)*x_ref[1]+(0.791245995152)*x_ref[2]**o+(-0.81051791594)*x_ref[2]
35735            ref[0,2,2,1]=(0.595743424517)*x_ref[0]**o+(-0.179075876404)*x_ref[0]+(-0.799005601715)*x_ref[1]**o+(-0.0554635073569)*x_ref[1]+(-0.850510701985)*x_ref[2]**o+(0.234516538169)*x_ref[2]
35736            ref[0,3,0,0]=(-0.361667738861)*x_ref[0]**o+(-0.551837498696)*x_ref[0]+(-0.834377202094)*x_ref[1]**o+(0.814168224265)*x_ref[1]+(-0.00479533268377)*x_ref[2]**o+(0.843007652951)*x_ref[2]
35737            ref[0,3,0,1]=(-0.448417439465)*x_ref[0]**o+(0.431496158388)*x_ref[0]+(-0.547416443433)*x_ref[1]**o+(-0.0746785704695)*x_ref[1]+(-0.646238182944)*x_ref[2]**o+(-0.318608714595)*x_ref[2]
35738            ref[0,3,1,0]=(-0.275647366007)*x_ref[0]**o+(-0.410594785047)*x_ref[0]+(-0.858282378196)*x_ref[1]**o+(-0.755586690837)*x_ref[1]+(-0.420481091654)*x_ref[2]**o+(-0.0996487371831)*x_ref[2]
35739            ref[0,3,1,1]=(-0.395961249009)*x_ref[0]**o+(0.0860896467863)*x_ref[0]+(0.482719525748)*x_ref[1]**o+(0.319368178133)*x_ref[1]+(0.516449153414)*x_ref[2]**o+(-0.246749862576)*x_ref[2]
35740            ref[0,3,2,0]=(-0.367322027122)*x_ref[0]**o+(0.687206412524)*x_ref[0]+(0.616265233972)*x_ref[1]**o+(-0.32660589112)*x_ref[1]+(-0.944607343096)*x_ref[2]**o+(0.123982537951)*x_ref[2]
35741            ref[0,3,2,1]=(0.700497166804)*x_ref[0]**o+(0.553961329865)*x_ref[0]+(-0.34020003754)*x_ref[1]**o+(0.295870992783)*x_ref[1]+(-0.220275880046)*x_ref[2]**o+(0.766121035825)*x_ref[2]
35742            ref[0,4,0,0]=(0.405469789242)*x_ref[0]**o+(-0.338347662873)*x_ref[0]+(0.0761796434233)*x_ref[1]**o+(-0.120599175033)*x_ref[1]+(0.107865585379)*x_ref[2]**o+(0.0711941007838)*x_ref[2]
35743            ref[0,4,0,1]=(0.614166154899)*x_ref[0]**o+(0.195780702963)*x_ref[0]+(0.718935985215)*x_ref[1]**o+(0.214577296792)*x_ref[1]+(-0.366985242107)*x_ref[2]**o+(-0.509584787633)*x_ref[2]
35744            ref[0,4,1,0]=(-0.638646370981)*x_ref[0]**o+(-0.769955899284)*x_ref[0]+(-0.887407540503)*x_ref[1]**o+(0.0901245429998)*x_ref[1]+(0.786085641321)*x_ref[2]**o+(0.6248068552)*x_ref[2]
35745            ref[0,4,1,1]=(-0.145426222043)*x_ref[0]**o+(-0.494114545016)*x_ref[0]+(0.422153721335)*x_ref[1]**o+(0.617022143901)*x_ref[1]+(-0.665972324723)*x_ref[2]**o+(-0.476724432799)*x_ref[2]
35746            ref[0,4,2,0]=(0.556105252092)*x_ref[0]**o+(-0.893268696809)*x_ref[0]+(0.146441889489)*x_ref[1]**o+(-0.170512113283)*x_ref[1]+(-0.869313262875)*x_ref[2]**o+(-0.976874109392)*x_ref[2]
35747            ref[0,4,2,1]=(0.858927206499)*x_ref[0]**o+(0.198998355146)*x_ref[0]+(0.278125296049)*x_ref[1]**o+(-0.0442518828093)*x_ref[1]+(0.274852724203)*x_ref[2]**o+(-0.167649193314)*x_ref[2]
35748            ref[1,0,0,0]=(-0.0429420289353)*x_ref[0]**o+(-0.15764693929)*x_ref[0]+(-0.859599917512)*x_ref[1]**o+(-0.904178643575)*x_ref[1]+(0.519560711493)*x_ref[2]**o+(0.258644717907)*x_ref[2]
35749            ref[1,0,0,1]=(-0.185321114264)*x_ref[0]**o+(-0.794493830004)*x_ref[0]+(0.136084421162)*x_ref[1]**o+(0.926912021419)*x_ref[1]+(0.346392120388)*x_ref[2]**o+(-0.183908371454)*x_ref[2]
35750            ref[1,0,1,0]=(-0.730675509877)*x_ref[0]**o+(0.865034802778)*x_ref[0]+(-0.506315431878)*x_ref[1]**o+(-0.94607761051)*x_ref[1]+(0.195194792801)*x_ref[2]**o+(-0.865129258879)*x_ref[2]
35751            ref[1,0,1,1]=(-0.0597026648107)*x_ref[0]**o+(-0.884790497)*x_ref[0]+(-0.0631278742098)*x_ref[1]**o+(-0.808364940737)*x_ref[1]+(-0.968952604837)*x_ref[2]**o+(0.142246702632)*x_ref[2]
35752            ref[1,0,2,0]=(0.648472894563)*x_ref[0]**o+(0.145861644073)*x_ref[0]+(0.501227520574)*x_ref[1]**o+(0.265886482306)*x_ref[1]+(-0.0472772173573)*x_ref[2]**o+(-0.364169655969)*x_ref[2]
35753            ref[1,0,2,1]=(0.847863600695)*x_ref[0]**o+(-0.288841685199)*x_ref[0]+(-0.500273502795)*x_ref[1]**o+(0.627379277592)*x_ref[1]+(0.326814024625)*x_ref[2]**o+(-0.514712825895)*x_ref[2]
35754            ref[1,1,0,0]=(-0.947845713712)*x_ref[0]**o+(-0.372115616305)*x_ref[0]+(-0.572858279998)*x_ref[1]**o+(0.226237627692)*x_ref[1]+(0.210201947182)*x_ref[2]**o+(0.0147616538594)*x_ref[2]
35755            ref[1,1,0,1]=(-0.39813630466)*x_ref[0]**o+(-0.658496395731)*x_ref[0]+(-0.363906465005)*x_ref[1]**o+(-0.816719661238)*x_ref[1]+(-0.478106835032)*x_ref[2]**o+(0.0819042309589)*x_ref[2]
35756            ref[1,1,1,0]=(-0.287160278593)*x_ref[0]**o+(-0.0281402640978)*x_ref[0]+(0.41559795378)*x_ref[1]**o+(0.158274458097)*x_ref[1]+(-0.798429481502)*x_ref[2]**o+(-0.278585334624)*x_ref[2]
35757            ref[1,1,1,1]=(0.809550480973)*x_ref[0]**o+(0.192026915854)*x_ref[0]+(-0.891168838599)*x_ref[1]**o+(0.0482621192882)*x_ref[1]+(-0.35339708159)*x_ref[2]**o+(-0.133161551553)*x_ref[2]
35758            ref[1,1,2,0]=(0.939582328872)*x_ref[0]**o+(0.561963790516)*x_ref[0]+(0.885264722949)*x_ref[1]**o+(-0.468042305266)*x_ref[1]+(0.232880002429)*x_ref[2]**o+(-0.772896005701)*x_ref[2]
35759            ref[1,1,2,1]=(-0.297333303209)*x_ref[0]**o+(-0.414050924207)*x_ref[0]+(-0.278903698873)*x_ref[1]**o+(0.345370620869)*x_ref[1]+(-0.0570151259027)*x_ref[2]**o+(0.786449641378)*x_ref[2]
35760            ref[1,2,0,0]=(0.644047138589)*x_ref[0]**o+(-0.480660438838)*x_ref[0]+(0.32526499462)*x_ref[1]**o+(-0.775988282127)*x_ref[1]+(0.108374143932)*x_ref[2]**o+(0.955463667181)*x_ref[2]
35761            ref[1,2,0,1]=(-0.468236790339)*x_ref[0]**o+(0.844197711724)*x_ref[0]+(0.808973429831)*x_ref[1]**o+(-0.647699550005)*x_ref[1]+(0.552555959813)*x_ref[2]**o+(-0.3403079515)*x_ref[2]
35762            ref[1,2,1,0]=(0.864686362308)*x_ref[0]**o+(0.248923646116)*x_ref[0]+(0.0287042863842)*x_ref[1]**o+(0.404974282153)*x_ref[1]+(0.113501438234)*x_ref[2]**o+(-0.619364894397)*x_ref[2]
35763            ref[1,2,1,1]=(-0.625146992499)*x_ref[0]**o+(-0.0480602452983)*x_ref[0]+(0.168910550914)*x_ref[1]**o+(-0.891584218123)*x_ref[1]+(0.0609357618263)*x_ref[2]**o+(0.0451921002161)*x_ref[2]
35764            ref[1,2,2,0]=(-0.478728628752)*x_ref[0]**o+(0.428376547798)*x_ref[0]+(0.817203376818)*x_ref[1]**o+(-0.856056266953)*x_ref[1]+(0.354960313382)*x_ref[2]**o+(-0.611468960461)*x_ref[2]
35765            ref[1,2,2,1]=(0.49500742113)*x_ref[0]**o+(0.902948130263)*x_ref[0]+(-0.810748543744)*x_ref[1]**o+(-0.696150924858)*x_ref[1]+(-0.748278516161)*x_ref[2]**o+(0.694815527058)*x_ref[2]
35766            ref[1,3,0,0]=(-0.361960150296)*x_ref[0]**o+(-0.845139780461)*x_ref[0]+(-0.0624499309665)*x_ref[1]**o+(-0.0515558058489)*x_ref[1]+(0.400690983017)*x_ref[2]**o+(-0.744608407974)*x_ref[2]
35767            ref[1,3,0,1]=(-0.452453617467)*x_ref[0]**o+(0.845396139593)*x_ref[0]+(0.292319469936)*x_ref[1]**o+(-0.833547518634)*x_ref[1]+(-0.511797700353)*x_ref[2]**o+(0.857891454773)*x_ref[2]
35768            ref[1,3,1,0]=(0.779504092912)*x_ref[0]**o+(0.500524773615)*x_ref[0]+(0.590542659382)*x_ref[1]**o+(0.479310630519)*x_ref[1]+(0.509960641956)*x_ref[2]**o+(-0.564980432959)*x_ref[2]
35769            ref[1,3,1,1]=(-0.145745189298)*x_ref[0]**o+(-0.256064576359)*x_ref[0]+(0.640890837126)*x_ref[1]**o+(-0.718802035152)*x_ref[1]+(-0.322216873583)*x_ref[2]**o+(-0.0246526526334)*x_ref[2]
35770            ref[1,3,2,0]=(-0.463434285098)*x_ref[0]**o+(0.116722448643)*x_ref[0]+(-0.690378381342)*x_ref[1]**o+(0.429197465885)*x_ref[1]+(-0.353019731384)*x_ref[2]**o+(0.57397712918)*x_ref[2]
35771            ref[1,3,2,1]=(0.169676853383)*x_ref[0]**o+(0.815225472623)*x_ref[0]+(-0.11125527552)*x_ref[1]**o+(0.391513831525)*x_ref[1]+(-0.587041361585)*x_ref[2]**o+(0.255194151616)*x_ref[2]
35772            ref[1,4,0,0]=(0.325351608628)*x_ref[0]**o+(-0.57751715453)*x_ref[0]+(0.145167511303)*x_ref[1]**o+(-0.969286030742)*x_ref[1]+(0.917370398478)*x_ref[2]**o+(0.691483691598)*x_ref[2]
35773            ref[1,4,0,1]=(0.0997998298271)*x_ref[0]**o+(-0.101248202247)*x_ref[0]+(-0.650649653848)*x_ref[1]**o+(-0.157887947288)*x_ref[1]+(0.517501747765)*x_ref[2]**o+(-0.0852921926298)*x_ref[2]
35774            ref[1,4,1,0]=(0.984595420407)*x_ref[0]**o+(0.499293499076)*x_ref[0]+(0.352193115874)*x_ref[1]**o+(-0.684522909647)*x_ref[1]+(-0.391538373605)*x_ref[2]**o+(0.404635595162)*x_ref[2]
35775            ref[1,4,1,1]=(-0.231310482173)*x_ref[0]**o+(-0.0385089836559)*x_ref[0]+(0.247671691888)*x_ref[1]**o+(0.883971955027)*x_ref[1]+(-0.0856624709734)*x_ref[2]**o+(0.942940875904)*x_ref[2]
35776            ref[1,4,2,0]=(-0.471467257434)*x_ref[0]**o+(0.835634240897)*x_ref[0]+(-0.594421294562)*x_ref[1]**o+(-0.187584387111)*x_ref[1]+(0.859867472765)*x_ref[2]**o+(0.930951154576)*x_ref[2]
35777            ref[1,4,2,1]=(0.504416975601)*x_ref[0]**o+(0.435692923635)*x_ref[0]+(-0.296945944313)*x_ref[1]**o+(0.815156218765)*x_ref[1]+(0.464464247442)*x_ref[2]**o+(-0.378809453041)*x_ref[2]
35778            ref[2,0,0,0]=(0.213087423107)*x_ref[0]**o+(-0.504681665801)*x_ref[0]+(0.796352190405)*x_ref[1]**o+(0.546752751136)*x_ref[1]+(0.57347644664)*x_ref[2]**o+(0.715856963195)*x_ref[2]
35779            ref[2,0,0,1]=(-0.28455266769)*x_ref[0]**o+(0.853162220766)*x_ref[0]+(0.164930982863)*x_ref[1]**o+(-0.0136996498765)*x_ref[1]+(0.293717915079)*x_ref[2]**o+(-0.216124158473)*x_ref[2]
35780            ref[2,0,1,0]=(-0.328115989441)*x_ref[0]**o+(-0.529441496488)*x_ref[0]+(-0.43579479677)*x_ref[1]**o+(-0.851333801194)*x_ref[1]+(-0.278406102972)*x_ref[2]**o+(0.947777471824)*x_ref[2]
35781            ref[2,0,1,1]=(-0.756438938789)*x_ref[0]**o+(-0.624332272735)*x_ref[0]+(-0.591638429565)*x_ref[1]**o+(-0.0608281771566)*x_ref[1]+(-0.852078784085)*x_ref[2]**o+(-0.526558964866)*x_ref[2]
35782            ref[2,0,2,0]=(-0.923892426969)*x_ref[0]**o+(0.788121899878)*x_ref[0]+(-0.446006331202)*x_ref[1]**o+(0.997210871574)*x_ref[1]+(0.356998606103)*x_ref[2]**o+(0.972643822823)*x_ref[2]
35783            ref[2,0,2,1]=(0.225183308571)*x_ref[0]**o+(-0.757505414777)*x_ref[0]+(-0.59573192074)*x_ref[1]**o+(0.57166154987)*x_ref[1]+(0.622343198809)*x_ref[2]**o+(0.60343970503)*x_ref[2]
35784            ref[2,1,0,0]=(0.51027702934)*x_ref[0]**o+(-0.711737679522)*x_ref[0]+(-0.211712579627)*x_ref[1]**o+(-0.495817605314)*x_ref[1]+(0.924425804272)*x_ref[2]**o+(0.753424835275)*x_ref[2]
35785            ref[2,1,0,1]=(0.476218252577)*x_ref[0]**o+(0.187579891557)*x_ref[0]+(0.727359583623)*x_ref[1]**o+(-0.389875559955)*x_ref[1]+(-0.352889326477)*x_ref[2]**o+(0.365143943637)*x_ref[2]
35786            ref[2,1,1,0]=(-0.815704312943)*x_ref[0]**o+(0.315217470245)*x_ref[0]+(-0.535234555065)*x_ref[1]**o+(-0.433408988501)*x_ref[1]+(-0.676694087389)*x_ref[2]**o+(0.384097177718)*x_ref[2]
35787            ref[2,1,1,1]=(-0.0368452411345)*x_ref[0]**o+(0.514540686444)*x_ref[0]+(-0.527100066965)*x_ref[1]**o+(0.0291015562912)*x_ref[1]+(-0.605646905004)*x_ref[2]**o+(0.931528599981)*x_ref[2]
35788            ref[2,1,2,0]=(-0.0994015945266)*x_ref[0]**o+(-0.762310347434)*x_ref[0]+(-0.845934950466)*x_ref[1]**o+(-0.235758967923)*x_ref[1]+(0.755531422698)*x_ref[2]**o+(0.108353867777)*x_ref[2]
35789            ref[2,1,2,1]=(-0.868779052889)*x_ref[0]**o+(0.783878941075)*x_ref[0]+(0.900089560473)*x_ref[1]**o+(-0.836779405877)*x_ref[1]+(-0.799571882449)*x_ref[2]**o+(0.999710029157)*x_ref[2]
35790            ref[2,2,0,0]=(0.541465277143)*x_ref[0]**o+(-0.840477797945)*x_ref[0]+(-0.362577721098)*x_ref[1]**o+(0.00680131806718)*x_ref[1]+(-0.338485239867)*x_ref[2]**o+(0.828213756751)*x_ref[2]
35791            ref[2,2,0,1]=(-0.927347423175)*x_ref[0]**o+(-0.936191125785)*x_ref[0]+(-0.411819804833)*x_ref[1]**o+(-0.0222067637269)*x_ref[1]+(-0.104411832586)*x_ref[2]**o+(-0.79937203081)*x_ref[2]
35792            ref[2,2,1,0]=(0.273051712848)*x_ref[0]**o+(-0.802468557957)*x_ref[0]+(-0.019392898867)*x_ref[1]**o+(-0.612803074784)*x_ref[1]+(-0.269705464223)*x_ref[2]**o+(-0.244405147706)*x_ref[2]
35793            ref[2,2,1,1]=(-0.08869649035)*x_ref[0]**o+(0.809761782447)*x_ref[0]+(0.761420080249)*x_ref[1]**o+(0.16590038557)*x_ref[1]+(-0.405657593445)*x_ref[2]**o+(0.123593603037)*x_ref[2]
35794            ref[2,2,2,0]=(-0.799691160987)*x_ref[0]**o+(0.834835690475)*x_ref[0]+(-0.0863569221737)*x_ref[1]**o+(0.988343215152)*x_ref[1]+(0.294423283474)*x_ref[2]**o+(0.325725138203)*x_ref[2]
35795            ref[2,2,2,1]=(0.648897496592)*x_ref[0]**o+(-0.474329387314)*x_ref[0]+(-0.904613697104)*x_ref[1]**o+(0.382201388286)*x_ref[1]+(-0.596889148339)*x_ref[2]**o+(0.705132157684)*x_ref[2]
35796            ref[2,3,0,0]=(0.906738144045)*x_ref[0]**o+(-0.365392026426)*x_ref[0]+(0.730557428733)*x_ref[1]**o+(-0.857864471189)*x_ref[1]+(-0.160930657186)*x_ref[2]**o+(0.885067383334)*x_ref[2]
35797            ref[2,3,0,1]=(0.992764702472)*x_ref[0]**o+(0.720688532948)*x_ref[0]+(0.318869772818)*x_ref[1]**o+(0.995508347248)*x_ref[1]+(0.108569456996)*x_ref[2]**o+(-0.990939292995)*x_ref[2]
35798            ref[2,3,1,0]=(0.690584992096)*x_ref[0]**o+(0.605885242246)*x_ref[0]+(0.72371794265)*x_ref[1]**o+(-0.632609325879)*x_ref[1]+(0.520273588734)*x_ref[2]**o+(0.885804143155)*x_ref[2]
35799            ref[2,3,1,1]=(0.485231542482)*x_ref[0]**o+(0.866920225418)*x_ref[0]+(-0.814964945972)*x_ref[1]**o+(0.544132513209)*x_ref[1]+(-0.155071376494)*x_ref[2]**o+(-0.941300746237)*x_ref[2]
35800            ref[2,3,2,0]=(0.748232238388)*x_ref[0]**o+(0.179397724419)*x_ref[0]+(-0.43881886248)*x_ref[1]**o+(-0.124941799624)*x_ref[1]+(0.14679335819)*x_ref[2]**o+(-0.758738846688)*x_ref[2]
35801            ref[2,3,2,1]=(-0.0951333655337)*x_ref[0]**o+(0.37270972476)*x_ref[0]+(-0.651977554115)*x_ref[1]**o+(-0.88918597476)*x_ref[1]+(-0.730858685576)*x_ref[2]**o+(0.685881924459)*x_ref[2]
35802            ref[2,4,0,0]=(-0.823487466802)*x_ref[0]**o+(-0.583630855643)*x_ref[0]+(-0.664814562747)*x_ref[1]**o+(0.860952605956)*x_ref[1]+(-0.249114322668)*x_ref[2]**o+(-0.968356584237)*x_ref[2]
35803            ref[2,4,0,1]=(0.44040146252)*x_ref[0]**o+(-0.246827565902)*x_ref[0]+(0.596300980733)*x_ref[1]**o+(-0.825818200414)*x_ref[1]+(0.0715512875967)*x_ref[2]**o+(0.996064679803)*x_ref[2]
35804            ref[2,4,1,0]=(-0.287806453021)*x_ref[0]**o+(0.704331542927)*x_ref[0]+(-0.346139754521)*x_ref[1]**o+(-0.766667037125)*x_ref[1]+(0.283874132105)*x_ref[2]**o+(-0.613145979204)*x_ref[2]
35805            ref[2,4,1,1]=(-0.116649875156)*x_ref[0]**o+(0.291380048239)*x_ref[0]+(0.689809221905)*x_ref[1]**o+(0.758935910592)*x_ref[1]+(0.505142787603)*x_ref[2]**o+(-0.113611480503)*x_ref[2]
35806            ref[2,4,2,0]=(-0.836908572692)*x_ref[0]**o+(-0.21892828725)*x_ref[0]+(-0.935780103868)*x_ref[1]**o+(0.106204643268)*x_ref[1]+(-0.894474423807)*x_ref[2]**o+(0.296554773217)*x_ref[2]
35807            ref[2,4,2,1]=(-0.89413495023)*x_ref[0]**o+(0.6080813058)*x_ref[0]+(0.087863889878)*x_ref[1]**o+(0.213373665612)*x_ref[1]+(0.17085345025)*x_ref[2]**o+(-0.967625138712)*x_ref[2]
35808            ref[3,0,0,0]=(0.327537677409)*x_ref[0]**o+(-0.299373059373)*x_ref[0]+(-0.43223648542)*x_ref[1]**o+(-0.499115781051)*x_ref[1]+(0.145464567449)*x_ref[2]**o+(0.580930584563)*x_ref[2]
35809            ref[3,0,0,1]=(-0.122622543351)*x_ref[0]**o+(-0.220547821081)*x_ref[0]+(0.892679827803)*x_ref[1]**o+(0.436584604381)*x_ref[1]+(-0.156093580288)*x_ref[2]**o+(0.464069069075)*x_ref[2]
35810            ref[3,0,1,0]=(0.590288663203)*x_ref[0]**o+(-0.212929445251)*x_ref[0]+(0.0899671639061)*x_ref[1]**o+(-0.87729854872)*x_ref[1]+(0.789506558716)*x_ref[2]**o+(-0.68867690907)*x_ref[2]
35811            ref[3,0,1,1]=(-0.913651849012)*x_ref[0]**o+(-0.430938918892)*x_ref[0]+(-0.351186012371)*x_ref[1]**o+(0.500306994748)*x_ref[1]+(0.145381845281)*x_ref[2]**o+(0.624993552333)*x_ref[2]
35812            ref[3,0,2,0]=(0.281393881265)*x_ref[0]**o+(-0.704727129826)*x_ref[0]+(-0.0102091836449)*x_ref[1]**o+(0.311857501353)*x_ref[1]+(0.300732947904)*x_ref[2]**o+(0.923973499548)*x_ref[2]
35813            ref[3,0,2,1]=(-0.584907526993)*x_ref[0]**o+(0.625732316822)*x_ref[0]+(-0.609691930408)*x_ref[1]**o+(0.056160226956)*x_ref[1]+(-0.766583561947)*x_ref[2]**o+(0.307692190194)*x_ref[2]
35814            ref[3,1,0,0]=(0.731231379445)*x_ref[0]**o+(-0.0485980527115)*x_ref[0]+(0.908932758852)*x_ref[1]**o+(0.188918035886)*x_ref[1]+(0.685837743688)*x_ref[2]**o+(-0.299987553989)*x_ref[2]
35815            ref[3,1,0,1]=(-0.784006561231)*x_ref[0]**o+(-0.809789430022)*x_ref[0]+(-0.846391792735)*x_ref[1]**o+(-0.211583304405)*x_ref[1]+(-0.00198590063687)*x_ref[2]**o+(-0.853253255224)*x_ref[2]
35816            ref[3,1,1,0]=(0.595567299132)*x_ref[0]**o+(-0.581734416878)*x_ref[0]+(0.88144481486)*x_ref[1]**o+(0.776876564509)*x_ref[1]+(-0.367477971386)*x_ref[2]**o+(0.0806320164453)*x_ref[2]
35817            ref[3,1,1,1]=(0.440836187611)*x_ref[0]**o+(-0.578925091757)*x_ref[0]+(0.923367189832)*x_ref[1]**o+(-0.993888173929)*x_ref[1]+(-0.645514380411)*x_ref[2]**o+(0.0267439044199)*x_ref[2]
35818            ref[3,1,2,0]=(-0.305182288788)*x_ref[0]**o+(-0.503372502553)*x_ref[0]+(0.740948657389)*x_ref[1]**o+(0.285661052275)*x_ref[1]+(-0.634510984218)*x_ref[2]**o+(-0.123979746456)*x_ref[2]
35819            ref[3,1,2,1]=(-0.897274928495)*x_ref[0]**o+(0.971356796164)*x_ref[0]+(0.940768290313)*x_ref[1]**o+(-0.552941985667)*x_ref[1]+(0.172857451423)*x_ref[2]**o+(0.844758237523)*x_ref[2]
35820            ref[3,2,0,0]=(-0.903542725333)*x_ref[0]**o+(0.936704774551)*x_ref[0]+(-0.398085875228)*x_ref[1]**o+(-0.304061573512)*x_ref[1]+(-0.13362037229)*x_ref[2]**o+(-0.405043350728)*x_ref[2]
35821            ref[3,2,0,1]=(-0.0208590751801)*x_ref[0]**o+(-0.354086381885)*x_ref[0]+(0.510884698744)*x_ref[1]**o+(-0.275504880518)*x_ref[1]+(0.459476496356)*x_ref[2]**o+(0.25358097976)*x_ref[2]
35822            ref[3,2,1,0]=(-0.0171081877107)*x_ref[0]**o+(-0.856081626112)*x_ref[0]+(-0.0698686571004)*x_ref[1]**o+(0.0954918361122)*x_ref[1]+(0.938494954069)*x_ref[2]**o+(-0.824928688248)*x_ref[2]
35823            ref[3,2,1,1]=(-0.277307915098)*x_ref[0]**o+(0.737855779658)*x_ref[0]+(-0.466761948855)*x_ref[1]**o+(-0.821498435809)*x_ref[1]+(-0.391009601442)*x_ref[2]**o+(0.643834542048)*x_ref[2]
35824            ref[3,2,2,0]=(0.379015007885)*x_ref[0]**o+(0.348646179575)*x_ref[0]+(0.733765133901)*x_ref[1]**o+(-0.722363571789)*x_ref[1]+(0.488531791931)*x_ref[2]**o+(0.279813923679)*x_ref[2]
35825            ref[3,2,2,1]=(0.516708382119)*x_ref[0]**o+(0.0426665103314)*x_ref[0]+(-0.168751315718)*x_ref[1]**o+(-0.124069236608)*x_ref[1]+(-0.778866001674)*x_ref[2]**o+(-0.362031001279)*x_ref[2]
35826            ref[3,3,0,0]=(0.995284803465)*x_ref[0]**o+(-0.442327755879)*x_ref[0]+(-0.13110270925)*x_ref[1]**o+(-0.172857543102)*x_ref[1]+(-0.910522664379)*x_ref[2]**o+(0.516931833163)*x_ref[2]
35827            ref[3,3,0,1]=(-0.889320295626)*x_ref[0]**o+(-0.728330379534)*x_ref[0]+(-0.584091700627)*x_ref[1]**o+(0.469914082337)*x_ref[1]+(0.18874127891)*x_ref[2]**o+(0.0846532039249)*x_ref[2]
35828            ref[3,3,1,0]=(0.911523535462)*x_ref[0]**o+(0.0924361220354)*x_ref[0]+(-0.0822504494228)*x_ref[1]**o+(0.00630249023591)*x_ref[1]+(-0.180497330322)*x_ref[2]**o+(0.817405577154)*x_ref[2]
35829            ref[3,3,1,1]=(0.681872747813)*x_ref[0]**o+(0.840680190206)*x_ref[0]+(-0.477660295206)*x_ref[1]**o+(0.0399086968056)*x_ref[1]+(0.440403204247)*x_ref[2]**o+(-0.220656197016)*x_ref[2]
35830            ref[3,3,2,0]=(-0.967524407336)*x_ref[0]**o+(0.896652274462)*x_ref[0]+(0.735269328519)*x_ref[1]**o+(-0.249017384614)*x_ref[1]+(-0.573222311563)*x_ref[2]**o+(-0.653800334954)*x_ref[2]
35831            ref[3,3,2,1]=(0.10041632804)*x_ref[0]**o+(0.167657178348)*x_ref[0]+(0.990621134594)*x_ref[1]**o+(-0.309063473348)*x_ref[1]+(-0.688206827575)*x_ref[2]**o+(0.0926806818663)*x_ref[2]
35832            ref[3,4,0,0]=(-0.128678339518)*x_ref[0]**o+(-0.974238160059)*x_ref[0]+(-0.762599464772)*x_ref[1]**o+(0.0233286358698)*x_ref[1]+(-0.622481697973)*x_ref[2]**o+(-0.080495303798)*x_ref[2]
35833            ref[3,4,0,1]=(-0.380318230058)*x_ref[0]**o+(0.568425682425)*x_ref[0]+(0.787369916262)*x_ref[1]**o+(0.296745245123)*x_ref[1]+(-0.917621002414)*x_ref[2]**o+(-0.696209404954)*x_ref[2]
35834            ref[3,4,1,0]=(-0.382961468898)*x_ref[0]**o+(0.672614453621)*x_ref[0]+(0.565371503874)*x_ref[1]**o+(-0.597331999912)*x_ref[1]+(-0.153637846704)*x_ref[2]**o+(-0.438159587906)*x_ref[2]
35835            ref[3,4,1,1]=(-0.541043007799)*x_ref[0]**o+(0.415600628159)*x_ref[0]+(-0.793716270785)*x_ref[1]**o+(0.780110667203)*x_ref[1]+(-0.101309486185)*x_ref[2]**o+(-0.138868352939)*x_ref[2]
35836            ref[3,4,2,0]=(0.679815917569)*x_ref[0]**o+(-0.800657537776)*x_ref[0]+(-0.711956069893)*x_ref[1]**o+(-0.575626146908)*x_ref[1]+(0.184247083249)*x_ref[2]**o+(-0.728118084396)*x_ref[2]
35837            ref[3,4,2,1]=(-0.608089432748)*x_ref[0]**o+(0.356378798828)*x_ref[0]+(-0.575957599599)*x_ref[1]**o+(0.599586825137)*x_ref[1]+(-0.160475743299)*x_ref[2]**o+(-0.070762356177)*x_ref[2]
35838          res=interpolate(arg,where=w_ref)
35839          self.failUnless(isinstance(res,Data),"wrong type of result.")
35840          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35841          self.failUnlessEqual(res.getShape(),(4, 5, 3, 2),"wrong shape of result.")
35842          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35843       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35844       def test_interpolate_onFunction_fromData_Solution_rank0(self):
35845          """
35846          tests interpolate for rank 0 Data onto the Function
35847    
35848          assumptions: self.domain supports inpterpolation from Solution onto Function
35849          """
35850          o=self.order
35851          dim=self.domain.getDim()
35852          w_ref=Function(self.domain)
35853          x_ref=w_ref.getX()
35854          w=Solution(self.domain)
35855          x=w.getX()
35856          arg=Data(0,(),w)
35857          ref=Data(0,(),w_ref)
35858          if dim==2:
35859            arg=(0.52738736047)*x[0]**o+(-0.513351179641)*x[0]+(0.466974564277)*x[1]**o+(0.247665236281)*x[1]
35860            ref=(0.52738736047)*x_ref[0]**o+(-0.513351179641)*x_ref[0]+(0.466974564277)*x_ref[1]**o+(0.247665236281)*x_ref[1]
35861          else:
35862            arg=(0.345612544612)*x[0]**o+(0.480207854215)*x[0]+(0.196672493786)*x[1]**o+(-0.891043131902)*x[1]+(0.106095952827)*x[2]**o+(0.436049931061)*x[2]
35863            ref=(0.345612544612)*x_ref[0]**o+(0.480207854215)*x_ref[0]+(0.196672493786)*x_ref[1]**o+(-0.891043131902)*x_ref[1]+(0.106095952827)*x_ref[2]**o+(0.436049931061)*x_ref[2]
35864          res=interpolate(arg,where=w_ref)
35865          self.failUnless(isinstance(res,Data),"wrong type of result.")
35866          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35867          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
35868          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35869       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35870       def test_interpolate_onFunction_fromData_Solution_rank1(self):
35871          """
35872          tests interpolate for rank 1 Data onto the Function
35873    
35874          assumptions: self.domain supports inpterpolation from Solution onto Function
35875          """
35876          o=self.order
35877          dim=self.domain.getDim()
35878          w_ref=Function(self.domain)
35879          x_ref=w_ref.getX()
35880          w=Solution(self.domain)
35881          x=w.getX()
35882          arg=Data(0,(2,),w)
35883          ref=Data(0,(2,),w_ref)
35884          if dim==2:
35885            arg[0]=(-0.738262816349)*x[0]**o+(-0.650523560236)*x[0]+(-0.344136056546)*x[1]**o+(-0.0693168099812)*x[1]
35886            arg[1]=(-0.565224044511)*x[0]**o+(0.94461728731)*x[0]+(0.234800891741)*x[1]**o+(0.836341748852)*x[1]
35887            ref[0]=(-0.738262816349)*x_ref[0]**o+(-0.650523560236)*x_ref[0]+(-0.344136056546)*x_ref[1]**o+(-0.0693168099812)*x_ref[1]
35888            ref[1]=(-0.565224044511)*x_ref[0]**o+(0.94461728731)*x_ref[0]+(0.234800891741)*x_ref[1]**o+(0.836341748852)*x_ref[1]
35889          else:
35890            arg[0]=(-0.76925788678)*x[0]**o+(-0.391133765534)*x[0]+(0.89961543807)*x[1]**o+(-0.355090830059)*x[1]+(-0.663969382551)*x[2]**o+(0.0324773110608)*x[2]
35891            arg[1]=(-0.640271335706)*x[0]**o+(-0.0771899290795)*x[0]+(0.923847889924)*x[1]**o+(-0.732484895713)*x[1]+(-0.782800597476)*x[2]**o+(-0.402230990251)*x[2]
35892            ref[0]=(-0.76925788678)*x_ref[0]**o+(-0.391133765534)*x_ref[0]+(0.89961543807)*x_ref[1]**o+(-0.355090830059)*x_ref[1]+(-0.663969382551)*x_ref[2]**o+(0.0324773110608)*x_ref[2]
35893            ref[1]=(-0.640271335706)*x_ref[0]**o+(-0.0771899290795)*x_ref[0]+(0.923847889924)*x_ref[1]**o+(-0.732484895713)*x_ref[1]+(-0.782800597476)*x_ref[2]**o+(-0.402230990251)*x_ref[2]
35894          res=interpolate(arg,where=w_ref)
35895          self.failUnless(isinstance(res,Data),"wrong type of result.")
35896          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35897          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
35898          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35899       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35900       def test_interpolate_onFunction_fromData_Solution_rank2(self):
35901          """
35902          tests interpolate for rank 2 Data onto the Function
35903    
35904          assumptions: self.domain supports inpterpolation from Solution onto Function
35905          """
35906          o=self.order
35907          dim=self.domain.getDim()
35908          w_ref=Function(self.domain)
35909          x_ref=w_ref.getX()
35910          w=Solution(self.domain)
35911          x=w.getX()
35912          arg=Data(0,(4, 5),w)
35913          ref=Data(0,(4, 5),w_ref)
35914          if dim==2:
35915            arg[0,0]=(-0.631349529615)*x[0]**o+(0.79216890406)*x[0]+(0.835421397222)*x[1]**o+(-0.209368192458)*x[1]
35916            arg[0,1]=(-0.166321945093)*x[0]**o+(0.701821475941)*x[0]+(-0.141804772049)*x[1]**o+(-0.860056917696)*x[1]
35917            arg[0,2]=(0.761659971379)*x[0]**o+(-0.39989119778)*x[0]+(-0.761140588562)*x[1]**o+(-0.595816184788)*x[1]
35918            arg[0,3]=(0.378518095375)*x[0]**o+(-0.880144120304)*x[0]+(0.814409656431)*x[1]**o+(0.0464425920173)*x[1]
35919            arg[0,4]=(-0.24431693596)*x[0]**o+(-0.840538735294)*x[0]+(0.0157782225732)*x[1]**o+(0.951311376091)*x[1]
35920            arg[1,0]=(0.0710042795971)*x[0]**o+(0.936106708209)*x[0]+(-0.580035969982)*x[1]**o+(0.740790378647)*x[1]
35921            arg[1,1]=(-0.807938035414)*x[0]**o+(0.8723236137)*x[0]+(-0.600615307712)*x[1]**o+(0.71483191921)*x[1]
35922            arg[1,2]=(0.454239081542)*x[0]**o+(0.966475397079)*x[0]+(-0.184649384525)*x[1]**o+(0.417686859721)*x[1]
35923            arg[1,3]=(-0.394999073966)*x[0]**o+(-0.0445825855756)*x[0]+(0.0389091203001)*x[1]**o+(-0.265569544304)*x[1]
35924            arg[1,4]=(0.625419856529)*x[0]**o+(-0.297955079048)*x[0]+(0.0092181343855)*x[1]**o+(-0.423768484981)*x[1]
35925            arg[2,0]=(0.836466109456)*x[0]**o+(-0.12515777587)*x[0]+(-0.0908815675065)*x[1]**o+(0.825332480799)*x[1]
35926            arg[2,1]=(-0.454612353892)*x[0]**o+(0.952942366642)*x[0]+(0.538638303761)*x[1]**o+(0.377957206795)*x[1]
35927            arg[2,2]=(-0.229405757447)*x[0]**o+(-0.125249012236)*x[0]+(0.194040765277)*x[1]**o+(-0.77353897054)*x[1]
35928            arg[2,3]=(-0.220514078279)*x[0]**o+(-0.937043129926)*x[0]+(0.661270617907)*x[1]**o+(0.342981486241)*x[1]
35929            arg[2,4]=(0.58858161977)*x[0]**o+(0.324813259161)*x[0]+(0.00439371077545)*x[1]**o+(0.517353738278)*x[1]
35930            arg[3,0]=(0.130001725331)*x[0]**o+(0.512570729718)*x[0]+(0.971292679928)*x[1]**o+(0.302530140373)*x[1]
35931            arg[3,1]=(0.999138842976)*x[0]**o+(0.325794749172)*x[0]+(0.94900982582)*x[1]**o+(0.56933825455)*x[1]
35932            arg[3,2]=(0.965201839092)*x[0]**o+(0.434187660328)*x[0]+(0.842238794411)*x[1]**o+(-0.754540335284)*x[1]
35933            arg[3,3]=(-0.539162954093)*x[0]**o+(-0.373779084363)*x[0]+(-0.426189858865)*x[1]**o+(-0.812351658629)*x[1]
35934            arg[3,4]=(0.871516777541)*x[0]**o+(-0.357393696308)*x[0]+(0.267358318776)*x[1]**o+(0.796701523616)*x[1]
35935            ref[0,0]=(-0.631349529615)*x_ref[0]**o+(0.79216890406)*x_ref[0]+(0.835421397222)*x_ref[1]**o+(-0.209368192458)*x_ref[1]
35936            ref[0,1]=(-0.166321945093)*x_ref[0]**o+(0.701821475941)*x_ref[0]+(-0.141804772049)*x_ref[1]**o+(-0.860056917696)*x_ref[1]
35937            ref[0,2]=(0.761659971379)*x_ref[0]**o+(-0.39989119778)*x_ref[0]+(-0.761140588562)*x_ref[1]**o+(-0.595816184788)*x_ref[1]
35938            ref[0,3]=(0.378518095375)*x_ref[0]**o+(-0.880144120304)*x_ref[0]+(0.814409656431)*x_ref[1]**o+(0.0464425920173)*x_ref[1]
35939            ref[0,4]=(-0.24431693596)*x_ref[0]**o+(-0.840538735294)*x_ref[0]+(0.0157782225732)*x_ref[1]**o+(0.951311376091)*x_ref[1]
35940            ref[1,0]=(0.0710042795971)*x_ref[0]**o+(0.936106708209)*x_ref[0]+(-0.580035969982)*x_ref[1]**o+(0.740790378647)*x_ref[1]
35941            ref[1,1]=(-0.807938035414)*x_ref[0]**o+(0.8723236137)*x_ref[0]+(-0.600615307712)*x_ref[1]**o+(0.71483191921)*x_ref[1]
35942            ref[1,2]=(0.454239081542)*x_ref[0]**o+(0.966475397079)*x_ref[0]+(-0.184649384525)*x_ref[1]**o+(0.417686859721)*x_ref[1]
35943            ref[1,3]=(-0.394999073966)*x_ref[0]**o+(-0.0445825855756)*x_ref[0]+(0.0389091203001)*x_ref[1]**o+(-0.265569544304)*x_ref[1]
35944            ref[1,4]=(0.625419856529)*x_ref[0]**o+(-0.297955079048)*x_ref[0]+(0.0092181343855)*x_ref[1]**o+(-0.423768484981)*x_ref[1]
35945            ref[2,0]=(0.836466109456)*x_ref[0]**o+(-0.12515777587)*x_ref[0]+(-0.0908815675065)*x_ref[1]**o+(0.825332480799)*x_ref[1]
35946            ref[2,1]=(-0.454612353892)*x_ref[0]**o+(0.952942366642)*x_ref[0]+(0.538638303761)*x_ref[1]**o+(0.377957206795)*x_ref[1]
35947            ref[2,2]=(-0.229405757447)*x_ref[0]**o+(-0.125249012236)*x_ref[0]+(0.194040765277)*x_ref[1]**o+(-0.77353897054)*x_ref[1]
35948            ref[2,3]=(-0.220514078279)*x_ref[0]**o+(-0.937043129926)*x_ref[0]+(0.661270617907)*x_ref[1]**o+(0.342981486241)*x_ref[1]
35949            ref[2,4]=(0.58858161977)*x_ref[0]**o+(0.324813259161)*x_ref[0]+(0.00439371077545)*x_ref[1]**o+(0.517353738278)*x_ref[1]
35950            ref[3,0]=(0.130001725331)*x_ref[0]**o+(0.512570729718)*x_ref[0]+(0.971292679928)*x_ref[1]**o+(0.302530140373)*x_ref[1]
35951            ref[3,1]=(0.999138842976)*x_ref[0]**o+(0.325794749172)*x_ref[0]+(0.94900982582)*x_ref[1]**o+(0.56933825455)*x_ref[1]
35952            ref[3,2]=(0.965201839092)*x_ref[0]**o+(0.434187660328)*x_ref[0]+(0.842238794411)*x_ref[1]**o+(-0.754540335284)*x_ref[1]
35953            ref[3,3]=(-0.539162954093)*x_ref[0]**o+(-0.373779084363)*x_ref[0]+(-0.426189858865)*x_ref[1]**o+(-0.812351658629)*x_ref[1]
35954            ref[3,4]=(0.871516777541)*x_ref[0]**o+(-0.357393696308)*x_ref[0]+(0.267358318776)*x_ref[1]**o+(0.796701523616)*x_ref[1]
35955          else:
35956            arg[0,0]=(-0.811142944724)*x[0]**o+(-0.65659407492)*x[0]+(-0.534808740191)*x[1]**o+(0.602252100451)*x[1]+(-0.158845636056)*x[2]**o+(-0.781826300399)*x[2]
35957            arg[0,1]=(-0.396870942248)*x[0]**o+(0.285698519063)*x[0]+(-0.962418369859)*x[1]**o+(-0.729381989807)*x[1]+(-0.0500038851534)*x[2]**o+(-0.567828852526)*x[2]
35958            arg[0,2]=(0.346399694372)*x[0]**o+(-0.170517233373)*x[0]+(-0.443275920724)*x[1]**o+(0.581464075295)*x[1]+(0.197230389253)*x[2]**o+(-0.613092248913)*x[2]
35959            arg[0,3]=(0.920174147113)*x[0]**o+(0.429847401539)*x[0]+(0.112888577662)*x[1]**o+(-0.0540034503714)*x[1]+(-0.0323244631044)*x[2]**o+(-0.293609544741)*x[2]
35960            arg[0,4]=(-0.0177585560206)*x[0]**o+(-0.806033755558)*x[0]+(-0.363921399918)*x[1]**o+(-0.415721267967)*x[1]+(0.832302676307)*x[2]**o+(-0.102510351741)*x[2]
35961            arg[1,0]=(-0.769760277763)*x[0]**o+(0.818187369213)*x[0]+(0.454400795864)*x[1]**o+(-0.220119708184)*x[1]+(-0.637117949075)*x[2]**o+(-0.661398404641)*x[2]
35962            arg[1,1]=(0.828424952723)*x[0]**o+(0.677022266764)*x[0]+(-0.958176510992)*x[1]**o+(-0.732014776269)*x[1]+(-0.495308153354)*x[2]**o+(-0.30698327016)*x[2]
35963            arg[1,2]=(-0.454106379068)*x[0]**o+(0.686920350455)*x[0]+(0.560344054206)*x[1]**o+(0.355495451775)*x[1]+(0.256969568039)*x[2]**o+(-0.737279585211)*x[2]
35964            arg[1,3]=(-0.976488579746)*x[0]**o+(-0.652812816758)*x[0]+(-0.996243459964)*x[1]**o+(0.631565668939)*x[1]+(0.996259991179)*x[2]**o+(-0.796610599165)*x[2]
35965            arg[1,4]=(0.676024716135)*x[0]**o+(-0.179835226483)*x[0]+(0.497541872254)*x[1]**o+(-0.678345104068)*x[1]+(0.945491022682)*x[2]**o+(-0.358403760669)*x[2]
35966            arg[2,0]=(0.166901676041)*x[0]**o+(0.833434173485)*x[0]+(0.622153751777)*x[1]**o+(0.767679765059)*x[1]+(-0.82271335395)*x[2]**o+(0.667651471482)*x[2]
35967            arg[2,1]=(-0.405015366041)*x[0]**o+(0.0548291583154)*x[0]+(0.894878845805)*x[1]**o+(-0.0955982667798)*x[1]+(0.468927799304)*x[2]**o+(0.547421481564)*x[2]
35968            arg[2,2]=(0.893319250823)*x[0]**o+(0.771073524295)*x[0]+(0.993876715991)*x[1]**o+(0.0832975372419)*x[1]+(-0.717061635157)*x[2]**o+(0.303760934227)*x[2]
35969            arg[2,3]=(0.247006018272)*x[0]**o+(0.329618310414)*x[0]+(-0.824176211089)*x[1]**o+(-0.678238702323)*x[1]+(0.218736302876)*x[2]**o+(0.8652063227)*x[2]
35970            arg[2,4]=(0.502380810223)*x[0]**o+(-0.94917091185)*x[0]+(-0.0392659831743)*x[1]**o+(-0.308291910503)*x[1]+(-0.498112428439)*x[2]**o+(0.217915791465)*x[2]
35971            arg[3,0]=(-0.018497051159)*x[0]**o+(-0.543005709743)*x[0]+(-0.433773552307)*x[1]**o+(-0.604850191015)*x[1]+(0.285970270117)*x[2]**o+(0.150938308283)*x[2]
35972            arg[3,1]=(0.185537796564)*x[0]**o+(0.663947686119)*x[0]+(-0.846597672873)*x[1]**o+(-0.798399069258)*x[1]+(0.0215106260597)*x[2]**o+(-0.388760513164)*x[2]
35973            arg[3,2]=(-0.378320218313)*x[0]**o+(-0.385079307834)*x[0]+(-0.392389046498)*x[1]**o+(0.323305501943)*x[1]+(0.496285813211)*x[2]**o+(-0.0269835921214)*x[2]
35974            arg[3,3]=(0.779877220393)*x[0]**o+(0.968536241033)*x[0]+(0.786166009582)*x[1]**o+(-0.974838905578)*x[1]+(0.4579382269)*x[2]**o+(0.178464213473)*x[2]
35975            arg[3,4]=(-0.149895758057)*x[0]**o+(0.3529889311)*x[0]+(0.223924981441)*x[1]**o+(0.10143440581)*x[1]+(0.162222746832)*x[2]**o+(0.421433640986)*x[2]
35976            ref[0,0]=(-0.811142944724)*x_ref[0]**o+(-0.65659407492)*x_ref[0]+(-0.534808740191)*x_ref[1]**o+(0.602252100451)*x_ref[1]+(-0.158845636056)*x_ref[2]**o+(-0.781826300399)*x_ref[2]
35977            ref[0,1]=(-0.396870942248)*x_ref[0]**o+(0.285698519063)*x_ref[0]+(-0.962418369859)*x_ref[1]**o+(-0.729381989807)*x_ref[1]+(-0.0500038851534)*x_ref[2]**o+(-0.567828852526)*x_ref[2]
35978            ref[0,2]=(0.346399694372)*x_ref[0]**o+(-0.170517233373)*x_ref[0]+(-0.443275920724)*x_ref[1]**o+(0.581464075295)*x_ref[1]+(0.197230389253)*x_ref[2]**o+(-0.613092248913)*x_ref[2]
35979            ref[0,3]=(0.920174147113)*x_ref[0]**o+(0.429847401539)*x_ref[0]+(0.112888577662)*x_ref[1]**o+(-0.0540034503714)*x_ref[1]+(-0.0323244631044)*x_ref[2]**o+(-0.293609544741)*x_ref[2]
35980            ref[0,4]=(-0.0177585560206)*x_ref[0]**o+(-0.806033755558)*x_ref[0]+(-0.363921399918)*x_ref[1]**o+(-0.415721267967)*x_ref[1]+(0.832302676307)*x_ref[2]**o+(-0.102510351741)*x_ref[2]
35981            ref[1,0]=(-0.769760277763)*x_ref[0]**o+(0.818187369213)*x_ref[0]+(0.454400795864)*x_ref[1]**o+(-0.220119708184)*x_ref[1]+(-0.637117949075)*x_ref[2]**o+(-0.661398404641)*x_ref[2]
35982            ref[1,1]=(0.828424952723)*x_ref[0]**o+(0.677022266764)*x_ref[0]+(-0.958176510992)*x_ref[1]**o+(-0.732014776269)*x_ref[1]+(-0.495308153354)*x_ref[2]**o+(-0.30698327016)*x_ref[2]
35983            ref[1,2]=(-0.454106379068)*x_ref[0]**o+(0.686920350455)*x_ref[0]+(0.560344054206)*x_ref[1]**o+(0.355495451775)*x_ref[1]+(0.256969568039)*x_ref[2]**o+(-0.737279585211)*x_ref[2]
35984            ref[1,3]=(-0.976488579746)*x_ref[0]**o+(-0.652812816758)*x_ref[0]+(-0.996243459964)*x_ref[1]**o+(0.631565668939)*x_ref[1]+(0.996259991179)*x_ref[2]**o+(-0.796610599165)*x_ref[2]
35985            ref[1,4]=(0.676024716135)*x_ref[0]**o+(-0.179835226483)*x_ref[0]+(0.497541872254)*x_ref[1]**o+(-0.678345104068)*x_ref[1]+(0.945491022682)*x_ref[2]**o+(-0.358403760669)*x_ref[2]
35986            ref[2,0]=(0.166901676041)*x_ref[0]**o+(0.833434173485)*x_ref[0]+(0.622153751777)*x_ref[1]**o+(0.767679765059)*x_ref[1]+(-0.82271335395)*x_ref[2]**o+(0.667651471482)*x_ref[2]
35987            ref[2,1]=(-0.405015366041)*x_ref[0]**o+(0.0548291583154)*x_ref[0]+(0.894878845805)*x_ref[1]**o+(-0.0955982667798)*x_ref[1]+(0.468927799304)*x_ref[2]**o+(0.547421481564)*x_ref[2]
35988            ref[2,2]=(0.893319250823)*x_ref[0]**o+(0.771073524295)*x_ref[0]+(0.993876715991)*x_ref[1]**o+(0.0832975372419)*x_ref[1]+(-0.717061635157)*x_ref[2]**o+(0.303760934227)*x_ref[2]
35989            ref[2,3]=(0.247006018272)*x_ref[0]**o+(0.329618310414)*x_ref[0]+(-0.824176211089)*x_ref[1]**o+(-0.678238702323)*x_ref[1]+(0.218736302876)*x_ref[2]**o+(0.8652063227)*x_ref[2]
35990            ref[2,4]=(0.502380810223)*x_ref[0]**o+(-0.94917091185)*x_ref[0]+(-0.0392659831743)*x_ref[1]**o+(-0.308291910503)*x_ref[1]+(-0.498112428439)*x_ref[2]**o+(0.217915791465)*x_ref[2]
35991            ref[3,0]=(-0.018497051159)*x_ref[0]**o+(-0.543005709743)*x_ref[0]+(-0.433773552307)*x_ref[1]**o+(-0.604850191015)*x_ref[1]+(0.285970270117)*x_ref[2]**o+(0.150938308283)*x_ref[2]
35992            ref[3,1]=(0.185537796564)*x_ref[0]**o+(0.663947686119)*x_ref[0]+(-0.846597672873)*x_ref[1]**o+(-0.798399069258)*x_ref[1]+(0.0215106260597)*x_ref[2]**o+(-0.388760513164)*x_ref[2]
35993            ref[3,2]=(-0.378320218313)*x_ref[0]**o+(-0.385079307834)*x_ref[0]+(-0.392389046498)*x_ref[1]**o+(0.323305501943)*x_ref[1]+(0.496285813211)*x_ref[2]**o+(-0.0269835921214)*x_ref[2]
35994            ref[3,3]=(0.779877220393)*x_ref[0]**o+(0.968536241033)*x_ref[0]+(0.786166009582)*x_ref[1]**o+(-0.974838905578)*x_ref[1]+(0.4579382269)*x_ref[2]**o+(0.178464213473)*x_ref[2]
35995            ref[3,4]=(-0.149895758057)*x_ref[0]**o+(0.3529889311)*x_ref[0]+(0.223924981441)*x_ref[1]**o+(0.10143440581)*x_ref[1]+(0.162222746832)*x_ref[2]**o+(0.421433640986)*x_ref[2]
35996          res=interpolate(arg,where=w_ref)
35997          self.failUnless(isinstance(res,Data),"wrong type of result.")
35998          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35999          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
36000          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36001       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36002       def test_interpolate_onFunction_fromData_Solution_rank3(self):
36003          """
36004          tests interpolate for rank 3 Data onto the Function
36005    
36006          assumptions: self.domain supports inpterpolation from Solution onto Function
36007          """
36008          o=self.order
36009          dim=self.domain.getDim()
36010          w_ref=Function(self.domain)
36011          x_ref=w_ref.getX()
36012          w=Solution(self.domain)
36013          x=w.getX()
36014          arg=Data(0,(6, 2, 2),w)
36015          ref=Data(0,(6, 2, 2),w_ref)
36016          if dim==2:
36017            arg[0,0,0]=(-0.232971584272)*x[0]**o+(0.391351964909)*x[0]+(-0.832254448983)*x[1]**o+(0.880762034713)*x[1]
36018            arg[0,0,1]=(0.473097471101)*x[0]**o+(-0.660862772376)*x[0]+(0.72974853865)*x[1]**o+(-0.328183435687)*x[1]
36019            arg[0,1,0]=(-0.749483736482)*x[0]**o+(0.0872454020187)*x[0]+(0.6916024322)*x[1]**o+(0.82757019273)*x[1]
36020            arg[0,1,1]=(-0.325601366346)*x[0]**o+(0.918246327277)*x[0]+(0.855963838252)*x[1]**o+(0.448567464706)*x[1]
36021            arg[1,0,0]=(-0.6642143628)*x[0]**o+(-0.82649833447)*x[0]+(0.822778465465)*x[1]**o+(-0.926669226842)*x[1]
36022            arg[1,0,1]=(-0.644490899373)*x[0]**o+(0.0644054772987)*x[0]+(-0.914922609343)*x[1]**o+(0.898880463842)*x[1]
36023            arg[1,1,0]=(0.40963096867)*x[0]**o+(-0.347418076162)*x[0]+(0.857966073118)*x[1]**o+(-0.284521442085)*x[1]
36024            arg[1,1,1]=(-0.00998062171478)*x[0]**o+(-0.234122404174)*x[0]+(-0.149500951208)*x[1]**o+(0.680038328937)*x[1]
36025            arg[2,0,0]=(-0.963777985833)*x[0]**o+(0.710727608341)*x[0]+(-0.646898391724)*x[1]**o+(-0.464095155503)*x[1]
36026            arg[2,0,1]=(-0.617670394851)*x[0]**o+(0.592337321587)*x[0]+(-0.0881426217074)*x[1]**o+(-0.00431912882662)*x[1]
36027            arg[2,1,0]=(0.871279828121)*x[0]**o+(-0.858267190204)*x[0]+(0.440863109038)*x[1]**o+(-0.912521398099)*x[1]
36028            arg[2,1,1]=(0.17802472174)*x[0]**o+(0.948587960042)*x[0]+(-0.837945850976)*x[1]**o+(0.13308730872)*x[1]
36029            arg[3,0,0]=(0.0482409149433)*x[0]**o+(-0.198100088194)*x[0]+(0.504789334224)*x[1]**o+(0.296276808608)*x[1]
36030            arg[3,0,1]=(-0.30515363985)*x[0]**o+(-0.355293167256)*x[0]+(-0.577592997685)*x[1]**o+(-0.882408725943)*x[1]
36031            arg[3,1,0]=(0.76102937294)*x[0]**o+(-0.210169673144)*x[0]+(-0.181755140891)*x[1]**o+(0.865448484187)*x[1]
36032            arg[3,1,1]=(-0.894294091863)*x[0]**o+(-0.712245666103)*x[0]+(0.151657455329)*x[1]**o+(-0.54019436763)*x[1]
36033            arg[4,0,0]=(0.860662861318)*x[0]**o+(-0.36787473166)*x[0]+(0.240406823985)*x[1]**o+(-0.381822992473)*x[1]
36034            arg[4,0,1]=(-0.109197125112)*x[0]**o+(0.962595232385)*x[0]+(-0.323876506847)*x[1]**o+(0.178613363564)*x[1]
36035            arg[4,1,0]=(0.486980313424)*x[0]**o+(-0.611294566285)*x[0]+(-0.774813150316)*x[1]**o+(0.335411840405)*x[1]
36036            arg[4,1,1]=(-0.622163740867)*x[0]**o+(0.426305234663)*x[0]+(0.243557551101)*x[1]**o+(0.930601340004)*x[1]
36037            arg[5,0,0]=(-0.232795962027)*x[0]**o+(0.49010767268)*x[0]+(-0.503693305594)*x[1]**o+(-0.915931668186)*x[1]
36038            arg[5,0,1]=(-0.304614759138)*x[0]**o+(0.797445765321)*x[0]+(-0.00820825778888)*x[1]**o+(-0.196762463972)*x[1]
36039            arg[5,1,0]=(-0.516700339456)*x[0]**o+(-0.440953905414)*x[0]+(0.875266018165)*x[1]**o+(0.780895354543)*x[1]
36040            arg[5,1,1]=(0.219827931399)*x[0]**o+(-0.950514094131)*x[0]+(-0.120763970425)*x[1]**o+(0.0941571726596)*x[1]
36041            ref[0,0,0]=(-0.232971584272)*x_ref[0]**o+(0.391351964909)*x_ref[0]+(-0.832254448983)*x_ref[1]**o+(0.880762034713)*x_ref[1]
36042            ref[0,0,1]=(0.473097471101)*x_ref[0]**o+(-0.660862772376)*x_ref[0]+(0.72974853865)*x_ref[1]**o+(-0.328183435687)*x_ref[1]
36043            ref[0,1,0]=(-0.749483736482)*x_ref[0]**o+(0.0872454020187)*x_ref[0]+(0.6916024322)*x_ref[1]**o+(0.82757019273)*x_ref[1]
36044            ref[0,1,1]=(-0.325601366346)*x_ref[0]**o+(0.918246327277)*x_ref[0]+(0.855963838252)*x_ref[1]**o+(0.448567464706)*x_ref[1]
36045            ref[1,0,0]=(-0.6642143628)*x_ref[0]**o+(-0.82649833447)*x_ref[0]+(0.822778465465)*x_ref[1]**o+(-0.926669226842)*x_ref[1]
36046            ref[1,0,1]=(-0.644490899373)*x_ref[0]**o+(0.0644054772987)*x_ref[0]+(-0.914922609343)*x_ref[1]**o+(0.898880463842)*x_ref[1]
36047            ref[1,1,0]=(0.40963096867)*x_ref[0]**o+(-0.347418076162)*x_ref[0]+(0.857966073118)*x_ref[1]**o+(-0.284521442085)*x_ref[1]
36048            ref[1,1,1]=(-0.00998062171478)*x_ref[0]**o+(-0.234122404174)*x_ref[0]+(-0.149500951208)*x_ref[1]**o+(0.680038328937)*x_ref[1]
36049            ref[2,0,0]=(-0.963777985833)*x_ref[0]**o+(0.710727608341)*x_ref[0]+(-0.646898391724)*x_ref[1]**o+(-0.464095155503)*x_ref[1]
36050            ref[2,0,1]=(-0.617670394851)*x_ref[0]**o+(0.592337321587)*x_ref[0]+(-0.0881426217074)*x_ref[1]**o+(-0.00431912882662)*x_ref[1]
36051            ref[2,1,0]=(0.871279828121)*x_ref[0]**o+(-0.858267190204)*x_ref[0]+(0.440863109038)*x_ref[1]**o+(-0.912521398099)*x_ref[1]
36052            ref[2,1,1]=(0.17802472174)*x_ref[0]**o+(0.948587960042)*x_ref[0]+(-0.837945850976)*x_ref[1]**o+(0.13308730872)*x_ref[1]
36053            ref[3,0,0]=(0.0482409149433)*x_ref[0]**o+(-0.198100088194)*x_ref[0]+(0.504789334224)*x_ref[1]**o+(0.296276808608)*x_ref[1]
36054            ref[3,0,1]=(-0.30515363985)*x_ref[0]**o+(-0.355293167256)*x_ref[0]+(-0.577592997685)*x_ref[1]**o+(-0.882408725943)*x_ref[1]
36055            ref[3,1,0]=(0.76102937294)*x_ref[0]**o+(-0.210169673144)*x_ref[0]+(-0.181755140891)*x_ref[1]**o+(0.865448484187)*x_ref[1]
36056            ref[3,1,1]=(-0.894294091863)*x_ref[0]**o+(-0.712245666103)*x_ref[0]+(0.151657455329)*x_ref[1]**o+(-0.54019436763)*x_ref[1]
36057            ref[4,0,0]=(0.860662861318)*x_ref[0]**o+(-0.36787473166)*x_ref[0]+(0.240406823985)*x_ref[1]**o+(-0.381822992473)*x_ref[1]
36058            ref[4,0,1]=(-0.109197125112)*x_ref[0]**o+(0.962595232385)*x_ref[0]+(-0.323876506847)*x_ref[1]**o+(0.178613363564)*x_ref[1]
36059            ref[4,1,0]=(0.486980313424)*x_ref[0]**o+(-0.611294566285)*x_ref[0]+(-0.774813150316)*x_ref[1]**o+(0.335411840405)*x_ref[1]
36060            ref[4,1,1]=(-0.622163740867)*x_ref[0]**o+(0.426305234663)*x_ref[0]+(0.243557551101)*x_ref[1]**o+(0.930601340004)*x_ref[1]
36061            ref[5,0,0]=(-0.232795962027)*x_ref[0]**o+(0.49010767268)*x_ref[0]+(-0.503693305594)*x_ref[1]**o+(-0.915931668186)*x_ref[1]
36062            ref[5,0,1]=(-0.304614759138)*x_ref[0]**o+(0.797445765321)*x_ref[0]+(-0.00820825778888)*x_ref[1]**o+(-0.196762463972)*x_ref[1]
36063            ref[5,1,0]=(-0.516700339456)*x_ref[0]**o+(-0.440953905414)*x_ref[0]+(0.875266018165)*x_ref[1]**o+(0.780895354543)*x_ref[1]
36064            ref[5,1,1]=(0.219827931399)*x_ref[0]**o+(-0.950514094131)*x_ref[0]+(-0.120763970425)*x_ref[1]**o+(0.0941571726596)*x_ref[1]
36065          else:
36066            arg[0,0,0]=(0.772105181243)*x[0]**o+(-0.548341656718)*x[0]+(0.358327458717)*x[1]**o+(0.07838537297)*x[1]+(-0.221432264133)*x[2]**o+(-0.0831433214109)*x[2]
36067            arg[0,0,1]=(-0.920280406855)*x[0]**o+(0.288008584982)*x[0]+(0.273175197348)*x[1]**o+(0.71005891586)*x[1]+(-0.372322860924)*x[2]**o+(0.801820758328)*x[2]
36068            arg[0,1,0]=(0.610498050037)*x[0]**o+(-0.539393441621)*x[0]+(0.587033652815)*x[1]**o+(0.237738229824)*x[1]+(-0.79411765083)*x[2]**o+(-0.519989054973)*x[2]
36069            arg[0,1,1]=(0.5412774887)*x[0]**o+(-0.851503637634)*x[0]+(-0.71956793056)*x[1]**o+(0.166039550456)*x[1]+(-0.274290267921)*x[2]**o+(-0.909146653718)*x[2]
36070            arg[1,0,0]=(-0.00458109759775)*x[0]**o+(0.487263914082)*x[0]+(0.0171216930245)*x[1]**o+(0.691063106679)*x[1]+(-0.96202326744)*x[2]**o+(0.361419732405)*x[2]
36071            arg[1,0,1]=(-0.784311451677)*x[0]**o+(-0.862560770078)*x[0]+(-0.0702620499924)*x[1]**o+(0.183400389223)*x[1]+(0.364905596839)*x[2]**o+(0.874230430841)*x[2]
36072            arg[1,1,0]=(0.315952660065)*x[0]**o+(-0.0168150653709)*x[0]+(0.372807793658)*x[1]**o+(0.350959428104)*x[1]+(0.292074907124)*x[2]**o+(0.38176271099)*x[2]
36073            arg[1,1,1]=(-0.941288490366)*x[0]**o+(0.159864446187)*x[0]+(0.616516779388)*x[1]**o+(0.0940731931915)*x[1]+(-0.966416702566)*x[2]**o+(-0.716669694143)*x[2]
36074            arg[2,0,0]=(0.308619329706)*x[0]**o+(0.68203622136)*x[0]+(-0.732163723834)*x[1]**o+(-0.222214324226)*x[1]+(0.89540478356)*x[2]**o+(-0.0648727721753)*x[2]
36075            arg[2,0,1]=(-0.829002921476)*x[0]**o+(0.274738860807)*x[0]+(0.944302912883)*x[1]**o+(0.67434413206)*x[1]+(-0.861085567199)*x[2]**o+(0.994494977369)*x[2]
36076            arg[2,1,0]=(-0.871499634896)*x[0]**o+(-0.716060125296)*x[0]+(-0.655428500508)*x[1]**o+(-0.478135345667)*x[1]+(-0.858927907345)*x[2]**o+(0.718884168928)*x[2]
36077            arg[2,1,1]=(0.843612813106)*x[0]**o+(-0.221966655825)*x[0]+(-0.0770757351)*x[1]**o+(-0.678171902341)*x[1]+(0.814209490483)*x[2]**o+(0.409183122676)*x[2]
36078            arg[3,0,0]=(-0.226810706884)*x[0]**o+(-0.167181963701)*x[0]+(0.810478050432)*x[1]**o+(-0.335099187817)*x[1]+(0.210621363393)*x[2]**o+(0.429297116788)*x[2]
36079            arg[3,0,1]=(0.597117204298)*x[0]**o+(-0.000147371125322)*x[0]+(-0.557842700291)*x[1]**o+(0.329529225331)*x[1]+(-0.208265244071)*x[2]**o+(-0.977698555357)*x[2]
36080            arg[3,1,0]=(-0.163068070947)*x[0]**o+(0.640075503516)*x[0]+(0.425653990651)*x[1]**o+(0.650655294789)*x[1]+(-0.342488862403)*x[2]**o+(0.227438788286)*x[2]
36081            arg[3,1,1]=(-0.511981920097)*x[0]**o+(-0.18099315756)*x[0]+(-0.969881140182)*x[1]**o+(-0.418742703662)*x[1]+(-0.271422367765)*x[2]**o+(0.0812058381877)*x[2]
36082            arg[4,0,0]=(0.569514749505)*x[0]**o+(-0.711561480184)*x[0]+(-0.587159226794)*x[1]**o+(-0.240459786489)*x[1]+(-0.380983629494)*x[2]**o+(-0.550385464258)*x[2]
36083            arg[4,0,1]=(0.257375332759)*x[0]**o+(-0.477083226492)*x[0]+(0.0180233249756)*x[1]**o+(0.612470082967)*x[1]+(0.99566078545)*x[2]**o+(-0.551544637583)*x[2]
36084            arg[4,1,0]=(0.702787194057)*x[0]**o+(0.922262573534)*x[0]+(-0.465910368685)*x[1]**o+(0.748743004032)*x[1]+(0.642852066952)*x[2]**o+(0.24283802317)*x[2]
36085            arg[4,1,1]=(0.745762578199)*x[0]**o+(0.240631495429)*x[0]+(0.413077167171)*x[1]**o+(0.692304442104)*x[1]+(0.150058687546)*x[2]**o+(-0.133413399526)*x[2]
36086            arg[5,0,0]=(0.0244935245274)*x[0]**o+(-0.866653903557)*x[0]+(-0.682252235104)*x[1]**o+(-0.525092961647)*x[1]+(-0.87552740837)*x[2]**o+(-0.780785295196)*x[2]
36087            arg[5,0,1]=(0.403317147145)*x[0]**o+(-0.846638525869)*x[0]+(-0.798622632135)*x[1]**o+(-0.199698251819)*x[1]+(-0.852399643056)*x[2]**o+(-0.0618243339514)*x[2]
36088            arg[5,1,0]=(-0.94578445284)*x[0]**o+(-0.715570943968)*x[0]+(-0.193533970382)*x[1]**o+(0.0325400011289)*x[1]+(0.137922635356)*x[2]**o+(0.0192967461384)*x[2]
36089            arg[5,1,1]=(-0.706542583366)*x[0]**o+(0.412536423598)*x[0]+(-0.27322227526)*x[1]**o+(0.339116123776)*x[1]+(-0.856871339939)*x[2]**o+(0.140603890427)*x[2]
36090            ref[0,0,0]=(0.772105181243)*x_ref[0]**o+(-0.548341656718)*x_ref[0]+(0.358327458717)*x_ref[1]**o+(0.07838537297)*x_ref[1]+(-0.221432264133)*x_ref[2]**o+(-0.0831433214109)*x_ref[2]
36091            ref[0,0,1]=(-0.920280406855)*x_ref[0]**o+(0.288008584982)*x_ref[0]+(0.273175197348)*x_ref[1]**o+(0.71005891586)*x_ref[1]+(-0.372322860924)*x_ref[2]**o+(0.801820758328)*x_ref[2]
36092            ref[0,1,0]=(0.610498050037)*x_ref[0]**o+(-0.539393441621)*x_ref[0]+(0.587033652815)*x_ref[1]**o+(0.237738229824)*x_ref[1]+(-0.79411765083)*x_ref[2]**o+(-0.519989054973)*x_ref[2]
36093            ref[0,1,1]=(0.5412774887)*x_ref[0]**o+(-0.851503637634)*x_ref[0]+(-0.71956793056)*x_ref[1]**o+(0.166039550456)*x_ref[1]+(-0.274290267921)*x_ref[2]**o+(-0.909146653718)*x_ref[2]
36094            ref[1,0,0]=(-0.00458109759775)*x_ref[0]**o+(0.487263914082)*x_ref[0]+(0.0171216930245)*x_ref[1]**o+(0.691063106679)*x_ref[1]+(-0.96202326744)*x_ref[2]**o+(0.361419732405)*x_ref[2]
36095            ref[1,0,1]=(-0.784311451677)*x_ref[0]**o+(-0.862560770078)*x_ref[0]+(-0.0702620499924)*x_ref[1]**o+(0.183400389223)*x_ref[1]+(0.364905596839)*x_ref[2]**o+(0.874230430841)*x_ref[2]
36096            ref[1,1,0]=(0.315952660065)*x_ref[0]**o+(-0.0168150653709)*x_ref[0]+(0.372807793658)*x_ref[1]**o+(0.350959428104)*x_ref[1]+(0.292074907124)*x_ref[2]**o+(0.38176271099)*x_ref[2]
36097            ref[1,1,1]=(-0.941288490366)*x_ref[0]**o+(0.159864446187)*x_ref[0]+(0.616516779388)*x_ref[1]**o+(0.0940731931915)*x_ref[1]+(-0.966416702566)*x_ref[2]**o+(-0.716669694143)*x_ref[2]
36098            ref[2,0,0]=(0.308619329706)*x_ref[0]**o+(0.68203622136)*x_ref[0]+(-0.732163723834)*x_ref[1]**o+(-0.222214324226)*x_ref[1]+(0.89540478356)*x_ref[2]**o+(-0.0648727721753)*x_ref[2]
36099            ref[2,0,1]=(-0.829002921476)*x_ref[0]**o+(0.274738860807)*x_ref[0]+(0.944302912883)*x_ref[1]**o+(0.67434413206)*x_ref[1]+(-0.861085567199)*x_ref[2]**o+(0.994494977369)*x_ref[2]
36100            ref[2,1,0]=(-0.871499634896)*x_ref[0]**o+(-0.716060125296)*x_ref[0]+(-0.655428500508)*x_ref[1]**o+(-0.478135345667)*x_ref[1]+(-0.858927907345)*x_ref[2]**o+(0.718884168928)*x_ref[2]
36101            ref[2,1,1]=(0.843612813106)*x_ref[0]**o+(-0.221966655825)*x_ref[0]+(-0.0770757351)*x_ref[1]**o+(-0.678171902341)*x_ref[1]+(0.814209490483)*x_ref[2]**o+(0.409183122676)*x_ref[2]
36102            ref[3,0,0]=(-0.226810706884)*x_ref[0]**o+(-0.167181963701)*x_ref[0]+(0.810478050432)*x_ref[1]**o+(-0.335099187817)*x_ref[1]+(0.210621363393)*x_ref[2]**o+(0.429297116788)*x_ref[2]
36103            ref[3,0,1]=(0.597117204298)*x_ref[0]**o+(-0.000147371125322)*x_ref[0]+(-0.557842700291)*x_ref[1]**o+(0.329529225331)*x_ref[1]+(-0.208265244071)*x_ref[2]**o+(-0.977698555357)*x_ref[2]
36104            ref[3,1,0]=(-0.163068070947)*x_ref[0]**o+(0.640075503516)*x_ref[0]+(0.425653990651)*x_ref[1]**o+(0.650655294789)*x_ref[1]+(-0.342488862403)*x_ref[2]**o+(0.227438788286)*x_ref[2]
36105            ref[3,1,1]=(-0.511981920097)*x_ref[0]**o+(-0.18099315756)*x_ref[0]+(-0.969881140182)*x_ref[1]**o+(-0.418742703662)*x_ref[1]+(-0.271422367765)*x_ref[2]**o+(0.0812058381877)*x_ref[2]
36106            ref[4,0,0]=(0.569514749505)*x_ref[0]**o+(-0.711561480184)*x_ref[0]+(-0.587159226794)*x_ref[1]**o+(-0.240459786489)*x_ref[1]+(-0.380983629494)*x_ref[2]**o+(-0.550385464258)*x_ref[2]
36107            ref[4,0,1]=(0.257375332759)*x_ref[0]**o+(-0.477083226492)*x_ref[0]+(0.0180233249756)*x_ref[1]**o+(0.612470082967)*x_ref[1]+(0.99566078545)*x_ref[2]**o+(-0.551544637583)*x_ref[2]
36108            ref[4,1,0]=(0.702787194057)*x_ref[0]**o+(0.922262573534)*x_ref[0]+(-0.465910368685)*x_ref[1]**o+(0.748743004032)*x_ref[1]+(0.642852066952)*x_ref[2]**o+(0.24283802317)*x_ref[2]
36109            ref[4,1,1]=(0.745762578199)*x_ref[0]**o+(0.240631495429)*x_ref[0]+(0.413077167171)*x_ref[1]**o+(0.692304442104)*x_ref[1]+(0.150058687546)*x_ref[2]**o+(-0.133413399526)*x_ref[2]
36110            ref[5,0,0]=(0.0244935245274)*x_ref[0]**o+(-0.866653903557)*x_ref[0]+(-0.682252235104)*x_ref[1]**o+(-0.525092961647)*x_ref[1]+(-0.87552740837)*x_ref[2]**o+(-0.780785295196)*x_ref[2]
36111            ref[5,0,1]=(0.403317147145)*x_ref[0]**o+(-0.846638525869)*x_ref[0]+(-0.798622632135)*x_ref[1]**o+(-0.199698251819)*x_ref[1]+(-0.852399643056)*x_ref[2]**o+(-0.0618243339514)*x_ref[2]
36112            ref[5,1,0]=(-0.94578445284)*x_ref[0]**o+(-0.715570943968)*x_ref[0]+(-0.193533970382)*x_ref[1]**o+(0.0325400011289)*x_ref[1]+(0.137922635356)*x_ref[2]**o+(0.0192967461384)*x_ref[2]
36113            ref[5,1,1]=(-0.706542583366)*x_ref[0]**o+(0.412536423598)*x_ref[0]+(-0.27322227526)*x_ref[1]**o+(0.339116123776)*x_ref[1]+(-0.856871339939)*x_ref[2]**o+(0.140603890427)*x_ref[2]
36114          res=interpolate(arg,where=w_ref)
36115          self.failUnless(isinstance(res,Data),"wrong type of result.")
36116          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36117          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
36118          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36119       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36120       def test_interpolate_onFunction_fromData_Solution_rank4(self):
36121          """
36122          tests interpolate for rank 4 Data onto the Function
36123    
36124          assumptions: self.domain supports inpterpolation from Solution onto Function
36125          """
36126          o=self.order
36127          dim=self.domain.getDim()
36128          w_ref=Function(self.domain)
36129          x_ref=w_ref.getX()
36130          w=Solution(self.domain)
36131          x=w.getX()
36132          arg=Data(0,(4, 5, 3, 2),w)
36133          ref=Data(0,(4, 5, 3, 2),w_ref)
36134          if dim==2:
36135            arg[0,0,0,0]=(0.0577426785287)*x[0]**o+(0.469845292021)*x[0]+(-0.641706722819)*x[1]**o+(0.129652001842)*x[1]
36136            arg[0,0,0,1]=(-0.87686951076)*x[0]**o+(-0.981093040999)*x[0]+(0.654637319552)*x[1]**o+(-0.953104888811)*x[1]
36137            arg[0,0,1,0]=(-0.486386436415)*x[0]**o+(0.91083470956)*x[0]+(-0.392432937401)*x[1]**o+(0.494919250884)*x[1]
36138            arg[0,0,1,1]=(0.299928502076)*x[0]**o+(-0.0787848191157)*x[0]+(-0.541863592475)*x[1]**o+(0.435934816687)*x[1]
36139            arg[0,0,2,0]=(-0.0500083438365)*x[0]**o+(-0.882581886623)*x[0]+(-0.965347357063)*x[1]**o+(-0.270254041774)*x[1]
36140            arg[0,0,2,1]=(-0.18974861517)*x[0]**o+(0.341406736671)*x[0]+(0.847020774229)*x[1]**o+(0.650201215849)*x[1]
36141            arg[0,1,0,0]=(0.0823017084719)*x[0]**o+(0.964585359235)*x[0]+(0.357658660436)*x[1]**o+(0.182585271812)*x[1]
36142            arg[0,1,0,1]=(0.863411821905)*x[0]**o+(0.313374566426)*x[0]+(-0.273547644827)*x[1]**o+(0.429051854479)*x[1]
36143            arg[0,1,1,0]=(0.167608645068)*x[0]**o+(0.926908094967)*x[0]+(-0.853415240465)*x[1]**o+(-0.376634525241)*x[1]
36144            arg[0,1,1,1]=(-0.555491961591)*x[0]**o+(-0.64621137308)*x[0]+(-0.315877124991)*x[1]**o+(-0.962839286133)*x[1]
36145            arg[0,1,2,0]=(0.909012065667)*x[0]**o+(-0.656739022976)*x[0]+(-0.458377773547)*x[1]**o+(0.394223574009)*x[1]
36146            arg[0,1,2,1]=(-0.550560496714)*x[0]**o+(0.216941875936)*x[0]+(-0.634745794924)*x[1]**o+(0.887912543217)*x[1]
36147            arg[0,2,0,0]=(-0.961535901493)*x[0]**o+(0.980336384835)*x[0]+(-0.151755000128)*x[1]**o+(0.0402841925797)*x[1]
36148            arg[0,2,0,1]=(0.571527088727)*x[0]**o+(-0.475013184811)*x[0]+(0.80051818192)*x[1]**o+(-0.589499747694)*x[1]
36149            arg[0,2,1,0]=(0.545840648612)*x[0]**o+(0.888313209612)*x[0]+(-0.568938733446)*x[1]**o+(-0.289030374342)*x[1]
36150            arg[0,2,1,1]=(-0.0631638607979)*x[0]**o+(-0.173754439841)*x[0]+(0.143503554071)*x[1]**o+(-0.0850087835084)*x[1]
36151            arg[0,2,2,0]=(0.316299661412)*x[0]**o+(0.260890197379)*x[0]+(-0.803519867776)*x[1]**o+(0.36434810185)*x[1]
36152            arg[0,2,2,1]=(-0.656013716479)*x[0]**o+(0.810499942514)*x[0]+(0.783455480815)*x[1]**o+(-0.943085466999)*x[1]
36153            arg[0,3,0,0]=(0.128153439722)*x[0]**o+(-0.404740042302)*x[0]+(0.785717360548)*x[1]**o+(-0.710818900841)*x[1]
36154            arg[0,3,0,1]=(-0.097059274787)*x[0]**o+(0.578757823228)*x[0]+(0.186146155178)*x[1]**o+(0.274602030707)*x[1]
36155            arg[0,3,1,0]=(0.00522392753954)*x[0]**o+(0.015773606982)*x[0]+(-0.327110065344)*x[1]**o+(0.15571120542)*x[1]
36156            arg[0,3,1,1]=(-0.14009116305)*x[0]**o+(-0.659975337811)*x[0]+(-0.297582833489)*x[1]**o+(-0.600935015071)*x[1]
36157            arg[0,3,2,0]=(0.749388604357)*x[0]**o+(0.762968650778)*x[0]+(-0.623477518339)*x[1]**o+(-0.931762943135)*x[1]
36158            arg[0,3,2,1]=(0.748396100632)*x[0]**o+(-0.841314360401)*x[0]+(0.432649446216)*x[1]**o+(-0.971300843628)*x[1]
36159            arg[0,4,0,0]=(-0.217249090357)*x[0]**o+(-0.833633675601)*x[0]+(0.169984305627)*x[1]**o+(-0.831738272666)*x[1]
36160            arg[0,4,0,1]=(0.501571101669)*x[0]**o+(-0.223897334788)*x[0]+(0.24178181976)*x[1]**o+(0.307921789017)*x[1]
36161            arg[0,4,1,0]=(-0.162064610564)*x[0]**o+(0.217669674603)*x[0]+(0.995517866562)*x[1]**o+(0.903061734589)*x[1]
36162            arg[0,4,1,1]=(-0.837150436928)*x[0]**o+(0.465269468525)*x[0]+(0.522034182082)*x[1]**o+(-0.725469921625)*x[1]
36163            arg[0,4,2,0]=(-0.295739906169)*x[0]**o+(0.961959220618)*x[0]+(0.577799918942)*x[1]**o+(-0.313255108148)*x[1]
36164            arg[0,4,2,1]=(-0.455635927062)*x[0]**o+(0.667038701641)*x[0]+(-0.151183772961)*x[1]**o+(-0.550197828316)*x[1]
36165            arg[1,0,0,0]=(0.585510684472)*x[0]**o+(-0.64754219493)*x[0]+(0.781495111863)*x[1]**o+(-0.792246214695)*x[1]
36166            arg[1,0,0,1]=(0.586346471397)*x[0]**o+(0.291794158138)*x[0]+(-0.614723564286)*x[1]**o+(-0.151451723805)*x[1]
36167            arg[1,0,1,0]=(-0.472877220222)*x[0]**o+(-0.0118252391089)*x[0]+(-0.596943135354)*x[1]**o+(-0.413992986066)*x[1]
36168            arg[1,0,1,1]=(-0.715007718152)*x[0]**o+(0.032964784403)*x[0]+(-0.350680745946)*x[1]**o+(0.678841285054)*x[1]
36169            arg[1,0,2,0]=(0.673910318085)*x[0]**o+(-0.15303471314)*x[0]+(-0.0889279944344)*x[1]**o+(-0.0356474498002)*x[1]
36170            arg[1,0,2,1]=(-0.875691348779)*x[0]**o+(0.547300853671)*x[0]+(-0.362646169132)*x[1]**o+(-0.588521964671)*x[1]
36171            arg[1,1,0,0]=(-0.0988912551145)*x[0]**o+(-0.710944394432)*x[0]+(0.153875249337)*x[1]**o+(0.274427434926)*x[1]
36172            arg[1,1,0,1]=(-0.0854272185591)*x[0]**o+(-0.21840195791)*x[0]+(0.906982245924)*x[1]**o+(0.570990116211)*x[1]
36173            arg[1,1,1,0]=(-0.851259116331)*x[0]**o+(0.309829955487)*x[0]+(0.115725082696)*x[1]**o+(-0.91590292189)*x[1]
36174            arg[1,1,1,1]=(-0.637464462703)*x[0]**o+(-0.280971672162)*x[0]+(0.270985403603)*x[1]**o+(-0.534115311397)*x[1]
36175            arg[1,1,2,0]=(0.670179973397)*x[0]**o+(0.847483793904)*x[0]+(0.0681088634526)*x[1]**o+(0.412176359729)*x[1]
36176            arg[1,1,2,1]=(0.0378205172485)*x[0]**o+(0.974150495292)*x[0]+(-0.720821275299)*x[1]**o+(-0.552588296494)*x[1]
36177            arg[1,2,0,0]=(0.151367609975)*x[0]**o+(0.832981586349)*x[0]+(0.419488381843)*x[1]**o+(0.561052438283)*x[1]
36178            arg[1,2,0,1]=(0.267839010425)*x[0]**o+(0.47455974064)*x[0]+(0.498826652567)*x[1]**o+(-0.51906391205)*x[1]
36179            arg[1,2,1,0]=(-0.350105107527)*x[0]**o+(-0.489326689724)*x[0]+(-0.156970199109)*x[1]**o+(-0.175565230472)*x[1]
36180            arg[1,2,1,1]=(0.754379973459)*x[0]**o+(-0.70691373234)*x[0]+(-0.964497356137)*x[1]**o+(-0.694989442192)*x[1]
36181            arg[1,2,2,0]=(-0.491090361655)*x[0]**o+(0.154379441501)*x[0]+(0.403809695039)*x[1]**o+(-0.084183660554)*x[1]
36182            arg[1,2,2,1]=(-0.164538235223)*x[0]**o+(0.628058472821)*x[0]+(0.331956969519)*x[1]**o+(0.828755643202)*x[1]
36183            arg[1,3,0,0]=(0.103479416566)*x[0]**o+(0.380691196177)*x[0]+(-0.350375360146)*x[1]**o+(0.18528492785)*x[1]
36184            arg[1,3,0,1]=(-0.0744423760559)*x[0]**o+(0.912275380092)*x[0]+(0.867254399179)*x[1]**o+(0.410307184344)*x[1]
36185            arg[1,3,1,0]=(-0.480324052626)*x[0]**o+(-0.438544962062)*x[0]+(0.749575808465)*x[1]**o+(-0.0689669475685)*x[1]
36186            arg[1,3,1,1]=(0.723325499611)*x[0]**o+(-0.368668363075)*x[0]+(0.404302895836)*x[1]**o+(0.66913878408)*x[1]
36187            arg[1,3,2,0]=(-0.122189168877)*x[0]**o+(0.603362404944)*x[0]+(0.184163482697)*x[1]**o+(0.728136755361)*x[1]
36188            arg[1,3,2,1]=(-0.149430048386)*x[0]**o+(-0.478108072433)*x[0]+(0.342479834611)*x[1]**o+(0.596757508109)*x[1]
36189            arg[1,4,0,0]=(0.334694167334)*x[0]**o+(-0.815793032292)*x[0]+(0.394250112116)*x[1]**o+(0.269197166808)*x[1]
36190            arg[1,4,0,1]=(-0.19210954081)*x[0]**o+(0.416736181257)*x[0]+(0.146217029416)*x[1]**o+(0.906316717458)*x[1]
36191            arg[1,4,1,0]=(-0.708061018673)*x[0]**o+(0.299200707691)*x[0]+(0.665111947965)*x[1]**o+(-0.0340170473314)*x[1]
36192            arg[1,4,1,1]=(0.0353929744202)*x[0]**o+(0.0493194235067)*x[0]+(-0.12215424813)*x[1]**o+(-0.758677440837)*x[1]
36193            arg[1,4,2,0]=(0.769702957701)*x[0]**o+(0.901805654682)*x[0]+(0.260222241019)*x[1]**o+(-0.471997705392)*x[1]
36194            arg[1,4,2,1]=(0.204258068316)*x[0]**o+(-0.173085114573)*x[0]+(-0.0253164178046)*x[1]**o+(0.84254484259)*x[1]
36195            arg[2,0,0,0]=(-0.688170206644)*x[0]**o+(-0.718673702314)*x[0]+(0.834265379201)*x[1]**o+(-0.879925159193)*x[1]
36196            arg[2,0,0,1]=(-0.515401334666)*x[0]**o+(-0.810523180967)*x[0]+(0.725182741017)*x[1]**o+(-0.74319471007)*x[1]
36197            arg[2,0,1,0]=(-0.799698108602)*x[0]**o+(0.289222327549)*x[0]+(0.0589402409999)*x[1]**o+(-0.437669765839)*x[1]
36198            arg[2,0,1,1]=(-0.734933454418)*x[0]**o+(0.371391146956)*x[0]+(-0.17797293763)*x[1]**o+(-0.499412028554)*x[1]
36199            arg[2,0,2,0]=(0.217283159505)*x[0]**o+(-0.184871188378)*x[0]+(-0.764095670777)*x[1]**o+(0.103705507755)*x[1]
36200            arg[2,0,2,1]=(0.578071527416)*x[0]**o+(0.845365737459)*x[0]+(-0.173187973137)*x[1]**o+(-0.827819925403)*x[1]
36201            arg[2,1,0,0]=(-0.258505119864)*x[0]**o+(0.640873475074)*x[0]+(-0.993841847675)*x[1]**o+(0.347490565123)*x[1]
36202            arg[2,1,0,1]=(0.224893445547)*x[0]**o+(0.827208591218)*x[0]+(0.0391563892525)*x[1]**o+(-0.320939200596)*x[1]
36203            arg[2,1,1,0]=(-0.993044884903)*x[0]**o+(-0.395235414086)*x[0]+(-0.447460653655)*x[1]**o+(-0.114585622808)*x[1]
36204            arg[2,1,1,1]=(0.908711735866)*x[0]**o+(-0.911405008413)*x[0]+(-0.798601192961)*x[1]**o+(-0.432937813587)*x[1]
36205            arg[2,1,2,0]=(-0.270424920067)*x[0]**o+(-0.533648944143)*x[0]+(0.184307763968)*x[1]**o+(-0.802221601505)*x[1]
36206            arg[2,1,2,1]=(0.154432841861)*x[0]**o+(0.306458633794)*x[0]+(0.0343421658454)*x[1]**o+(-0.768559457414)*x[1]
36207            arg[2,2,0,0]=(-0.497828132445)*x[0]**o+(0.484920248315)*x[0]+(-0.188239341875)*x[1]**o+(0.100360622012)*x[1]
36208            arg[2,2,0,1]=(-0.0433518780446)*x[0]**o+(0.119470819101)*x[0]+(0.344025017428)*x[1]**o+(0.667394126898)*x[1]
36209            arg[2,2,1,0]=(0.512271795846)*x[0]**o+(0.567024910623)*x[0]+(-0.316191920076)*x[1]**o+(-0.202135136851)*x[1]
36210            arg[2,2,1,1]=(0.781678855797)*x[0]**o+(0.159208533718)*x[0]+(-0.930150837465)*x[1]**o+(-0.666903895504)*x[1]
36211            arg[2,2,2,0]=(0.292270965732)*x[0]**o+(-0.112877441048)*x[0]+(-0.643355582049)*x[1]**o+(-0.0482560996171)*x[1]
36212            arg[2,2,2,1]=(0.638688065872)*x[0]**o+(0.787719224138)*x[0]+(0.815312681592)*x[1]**o+(0.334735776221)*x[1]
36213            arg[2,3,0,0]=(0.409920519672)*x[0]**o+(-0.191886243537)*x[0]+(-0.348205383522)*x[1]**o+(-0.651065510647)*x[1]
36214            arg[2,3,0,1]=(0.824428500178)*x[0]**o+(-0.909533490456)*x[0]+(-0.455079541262)*x[1]**o+(-0.613994310127)*x[1]
36215            arg[2,3,1,0]=(0.225908995914)*x[0]**o+(0.258098741048)*x[0]+(-0.858905205327)*x[1]**o+(0.535845140874)*x[1]
36216            arg[2,3,1,1]=(-0.183600641837)*x[0]**o+(-0.0436432564818)*x[0]+(0.306524301109)*x[1]**o+(0.662513699164)*x[1]
36217            arg[2,3,2,0]=(-0.678973103555)*x[0]**o+(0.674110571991)*x[0]+(-0.129743880618)*x[1]**o+(-0.210759231178)*x[1]
36218            arg[2,3,2,1]=(-0.594989617102)*x[0]**o+(0.0557145839856)*x[0]+(-0.379516802094)*x[1]**o+(-0.496127170036)*x[1]
36219            arg[2,4,0,0]=(0.401088886175)*x[0]**o+(-0.208580896076)*x[0]+(-0.655582275521)*x[1]**o+(-0.522892532154)*x[1]
36220            arg[2,4,0,1]=(0.609111916382)*x[0]**o+(-0.864603847696)*x[0]+(-0.373482060442)*x[1]**o+(0.048777005392)*x[1]
36221            arg[2,4,1,0]=(-0.503935244799)*x[0]**o+(0.320517360825)*x[0]+(-0.658994963813)*x[1]**o+(0.00465823412972)*x[1]
36222            arg[2,4,1,1]=(-0.202767966863)*x[0]**o+(0.737239608437)*x[0]+(-0.633206522406)*x[1]**o+(-0.408531988781)*x[1]
36223            arg[2,4,2,0]=(0.660048575091)*x[0]**o+(-0.399137043056)*x[0]+(-0.0977181117895)*x[1]**o+(0.148903352776)*x[1]
36224            arg[2,4,2,1]=(-0.396768795712)*x[0]**o+(-0.550388681028)*x[0]+(0.0946256561554)*x[1]**o+(-0.0566941754267)*x[1]
36225            arg[3,0,0,0]=(0.0647180650687)*x[0]**o+(0.920788893299)*x[0]+(0.131306350033)*x[1]**o+(-0.840527983774)*x[1]
36226            arg[3,0,0,1]=(0.451700262969)*x[0]**o+(-0.16104676139)*x[0]+(0.114145999713)*x[1]**o+(-0.949265482931)*x[1]
36227            arg[3,0,1,0]=(-0.219444617083)*x[0]**o+(0.846470673388)*x[0]+(-0.341392225388)*x[1]**o+(-0.721912717627)*x[1]
36228            arg[3,0,1,1]=(-0.199502120929)*x[0]**o+(-0.00662410675554)*x[0]+(0.0529013037694)*x[1]**o+(-0.022278580228)*x[1]
36229            arg[3,0,2,0]=(0.803500732535)*x[0]**o+(0.754138333448)*x[0]+(0.822404687478)*x[1]**o+(0.900099584934)*x[1]
36230            arg[3,0,2,1]=(0.84674757393)*x[0]**o+(0.326823539079)*x[0]+(-0.824446392056)*x[1]**o+(-0.506583766552)*x[1]
36231            arg[3,1,0,0]=(0.816775849327)*x[0]**o+(0.957523430402)*x[0]+(-0.822535686534)*x[1]**o+(-0.583389123083)*x[1]
36232            arg[3,1,0,1]=(0.518120693337)*x[0]**o+(0.0946135115511)*x[0]+(0.577364260402)*x[1]**o+(-0.677435109716)*x[1]
36233            arg[3,1,1,0]=(-0.559041961891)*x[0]**o+(0.436791134026)*x[0]+(0.287609046653)*x[1]**o+(-0.484573207793)*x[1]
36234            arg[3,1,1,1]=(-0.0786041693053)*x[0]**o+(0.793526931222)*x[0]+(0.055780633982)*x[1]**o+(0.0447074319839)*x[1]
36235            arg[3,1,2,0]=(-0.190231018951)*x[0]**o+(-0.61318830169)*x[0]+(-0.157202158534)*x[1]**o+(-0.823043159126)*x[1]
36236            arg[3,1,2,1]=(-0.502637901786)*x[0]**o+(0.781083145697)*x[0]+(-0.663013942651)*x[1]**o+(-0.305726874525)*x[1]
36237            arg[3,2,0,0]=(0.566955929517)*x[0]**o+(-0.506981068575)*x[0]+(-0.831439289654)*x[1]**o+(-0.337491442765)*x[1]
36238            arg[3,2,0,1]=(-0.713648844422)*x[0]**o+(-0.00815764297609)*x[0]+(0.829706206618)*x[1]**o+(0.96471376965)*x[1]
36239            arg[3,2,1,0]=(-0.944705561715)*x[0]**o+(-0.87962603172)*x[0]+(-0.0525190846342)*x[1]**o+(-0.0457463400515)*x[1]
36240            arg[3,2,1,1]=(0.54922446571)*x[0]**o+(0.651923573438)*x[0]+(-0.00229398468376)*x[1]**o+(-0.00170863787749)*x[1]
36241            arg[3,2,2,0]=(0.622372079685)*x[0]**o+(-0.553578221845)*x[0]+(-0.737877450857)*x[1]**o+(0.459729854002)*x[1]
36242            arg[3,2,2,1]=(0.826155732508)*x[0]**o+(-0.000468898258991)*x[0]+(-0.255179342686)*x[1]**o+(-0.80957312045)*x[1]
36243            arg[3,3,0,0]=(-0.195212469839)*x[0]**o+(-0.0235216449547)*x[0]+(-0.175192639485)*x[1]**o+(-0.58937661213)*x[1]
36244            arg[3,3,0,1]=(-0.931538910404)*x[0]**o+(0.649282880007)*x[0]+(-0.237841482637)*x[1]**o+(-0.0220516220802)*x[1]
36245            arg[3,3,1,0]=(0.420911057166)*x[0]**o+(0.200126728184)*x[0]+(-0.829130861656)*x[1]**o+(-0.563462916661)*x[1]
36246            arg[3,3,1,1]=(-0.148199974575)*x[0]**o+(-0.248825389533)*x[0]+(-0.346424894584)*x[1]**o+(0.339758232978)*x[1]
36247            arg[3,3,2,0]=(0.249372496215)*x[0]**o+(-0.343626915746)*x[0]+(0.0961351845087)*x[1]**o+(0.612679249068)*x[1]
36248            arg[3,3,2,1]=(0.985380582259)*x[0]**o+(-0.603514318626)*x[0]+(-0.131105546364)*x[1]**o+(-0.0798158697238)*x[1]
36249            arg[3,4,0,0]=(0.478635365792)*x[0]**o+(-0.964424450881)*x[0]+(-0.469995535544)*x[1]**o+(-0.72871149515)*x[1]
36250            arg[3,4,0,1]=(-0.264802297415)*x[0]**o+(-0.926518282507)*x[0]+(0.803390182149)*x[1]**o+(0.387910762706)*x[1]
36251            arg[3,4,1,0]=(0.0452448579909)*x[0]**o+(-0.0482221515826)*x[0]+(-0.728020494982)*x[1]**o+(-0.288823633249)*x[1]
36252            arg[3,4,1,1]=(-0.640459595265)*x[0]**o+(0.759525453728)*x[0]+(-0.0280300707884)*x[1]**o+(0.079438187123)*x[1]
36253            arg[3,4,2,0]=(-0.14185171171)*x[0]**o+(-0.810989314052)*x[0]+(0.921902325773)*x[1]**o+(0.885920658784)*x[1]
36254            arg[3,4,2,1]=(-0.0101259901393)*x[0]**o+(-0.696541046542)*x[0]+(0.127932822496)*x[1]**o+(-0.822265796323)*x[1]
36255            ref[0,0,0,0]=(0.0577426785287)*x_ref[0]**o+(0.469845292021)*x_ref[0]+(-0.641706722819)*x_ref[1]**o+(0.129652001842)*x_ref[1]
36256            ref[0,0,0,1]=(-0.87686951076)*x_ref[0]**o+(-0.981093040999)*x_ref[0]+(0.654637319552)*x_ref[1]**o+(-0.953104888811)*x_ref[1]
36257            ref[0,0,1,0]=(-0.486386436415)*x_ref[0]**o+(0.91083470956)*x_ref[0]+(-0.392432937401)*x_ref[1]**o+(0.494919250884)*x_ref[1]
36258            ref[0,0,1,1]=(0.299928502076)*x_ref[0]**o+(-0.0787848191157)*x_ref[0]+(-0.541863592475)*x_ref[1]**o+(0.435934816687)*x_ref[1]
36259            ref[0,0,2,0]=(-0.0500083438365)*x_ref[0]**o+(-0.882581886623)*x_ref[0]+(-0.965347357063)*x_ref[1]**o+(-0.270254041774)*x_ref[1]
36260            ref[0,0,2,1]=(-0.18974861517)*x_ref[0]**o+(0.341406736671)*x_ref[0]+(0.847020774229)*x_ref[1]**o+(0.650201215849)*x_ref[1]
36261            ref[0,1,0,0]=(0.0823017084719)*x_ref[0]**o+(0.964585359235)*x_ref[0]+(0.357658660436)*x_ref[1]**o+(0.182585271812)*x_ref[1]
36262            ref[0,1,0,1]=(0.863411821905)*x_ref[0]**o+(0.313374566426)*x_ref[0]+(-0.273547644827)*x_ref[1]**o+(0.429051854479)*x_ref[1]
36263            ref[0,1,1,0]=(0.167608645068)*x_ref[0]**o+(0.926908094967)*x_ref[0]+(-0.853415240465)*x_ref[1]**o+(-0.376634525241)*x_ref[1]
36264            ref[0,1,1,1]=(-0.555491961591)*x_ref[0]**o+(-0.64621137308)*x_ref[0]+(-0.315877124991)*x_ref[1]**o+(-0.962839286133)*x_ref[1]
36265            ref[0,1,2,0]=(0.909012065667)*x_ref[0]**o+(-0.656739022976)*x_ref[0]+(-0.458377773547)*x_ref[1]**o+(0.394223574009)*x_ref[1]
36266            ref[0,1,2,1]=(-0.550560496714)*x_ref[0]**o+(0.216941875936)*x_ref[0]+(-0.634745794924)*x_ref[1]**o+(0.887912543217)*x_ref[1]
36267            ref[0,2,0,0]=(-0.961535901493)*x_ref[0]**o+(0.980336384835)*x_ref[0]+(-0.151755000128)*x_ref[1]**o+(0.0402841925797)*x_ref[1]
36268            ref[0,2,0,1]=(0.571527088727)*x_ref[0]**o+(-0.475013184811)*x_ref[0]+(0.80051818192)*x_ref[1]**o+(-0.589499747694)*x_ref[1]
36269            ref[0,2,1,0]=(0.545840648612)*x_ref[0]**o+(0.888313209612)*x_ref[0]+(-0.568938733446)*x_ref[1]**o+(-0.289030374342)*x_ref[1]
36270            ref[0,2,1,1]=(-0.0631638607979)*x_ref[0]**o+(-0.173754439841)*x_ref[0]+(0.143503554071)*x_ref[1]**o+(-0.0850087835084)*x_ref[1]
36271            ref[0,2,2,0]=(0.316299661412)*x_ref[0]**o+(0.260890197379)*x_ref[0]+(-0.803519867776)*x_ref[1]**o+(0.36434810185)*x_ref[1]
36272            ref[0,2,2,1]=(-0.656013716479)*x_ref[0]**o+(0.810499942514)*x_ref[0]+(0.783455480815)*x_ref[1]**o+(-0.943085466999)*x_ref[1]
36273            ref[0,3,0,0]=(0.128153439722)*x_ref[0]**o+(-0.404740042302)*x_ref[0]+(0.785717360548)*x_ref[1]**o+(-0.710818900841)*x_ref[1]
36274            ref[0,3,0,1]=(-0.097059274787)*x_ref[0]**o+(0.578757823228)*x_ref[0]+(0.186146155178)*x_ref[1]**o+(0.274602030707)*x_ref[1]
36275            ref[0,3,1,0]=(0.00522392753954)*x_ref[0]**o+(0.015773606982)*x_ref[0]+(-0.327110065344)*x_ref[1]**o+(0.15571120542)*x_ref[1]
36276            ref[0,3,1,1]=(-0.14009116305)*x_ref[0]**o+(-0.659975337811)*x_ref[0]+(-0.297582833489)*x_ref[1]**o+(-0.600935015071)*x_ref[1]
36277            ref[0,3,2,0]=(0.749388604357)*x_ref[0]**o+(0.762968650778)*x_ref[0]+(-0.623477518339)*x_ref[1]**o+(-0.931762943135)*x_ref[1]
36278            ref[0,3,2,1]=(0.748396100632)*x_ref[0]**o+(-0.841314360401)*x_ref[0]+(0.432649446216)*x_ref[1]**o+(-0.971300843628)*x_ref[1]
36279            ref[0,4,0,0]=(-0.217249090357)*x_ref[0]**o+(-0.833633675601)*x_ref[0]+(0.169984305627)*x_ref[1]**o+(-0.831738272666)*x_ref[1]
36280            ref[0,4,0,1]=(0.501571101669)*x_ref[0]**o+(-0.223897334788)*x_ref[0]+(0.24178181976)*x_ref[1]**o+(0.307921789017)*x_ref[1]
36281            ref[0,4,1,0]=(-0.162064610564)*x_ref[0]**o+(0.217669674603)*x_ref[0]+(0.995517866562)*x_ref[1]**o+(0.903061734589)*x_ref[1]
36282            ref[0,4,1,1]=(-0.837150436928)*x_ref[0]**o+(0.465269468525)*x_ref[0]+(0.522034182082)*x_ref[1]**o+(-0.725469921625)*x_ref[1]
36283            ref[0,4,2,0]=(-0.295739906169)*x_ref[0]**o+(0.961959220618)*x_ref[0]+(0.577799918942)*x_ref[1]**o+(-0.313255108148)*x_ref[1]
36284            ref[0,4,2,1]=(-0.455635927062)*x_ref[0]**o+(0.667038701641)*x_ref[0]+(-0.151183772961)*x_ref[1]**o+(-0.550197828316)*x_ref[1]
36285            ref[1,0,0,0]=(0.585510684472)*x_ref[0]**o+(-0.64754219493)*x_ref[0]+(0.781495111863)*x_ref[1]**o+(-0.792246214695)*x_ref[1]
36286            ref[1,0,0,1]=(0.586346471397)*x_ref[0]**o+(0.291794158138)*x_ref[0]+(-0.614723564286)*x_ref[1]**o+(-0.151451723805)*x_ref[1]
36287            ref[1,0,1,0]=(-0.472877220222)*x_ref[0]**o+(-0.0118252391089)*x_ref[0]+(-0.596943135354)*x_ref[1]**o+(-0.413992986066)*x_ref[1]
36288            ref[1,0,1,1]=(-0.715007718152)*x_ref[0]**o+(0.032964784403)*x_ref[0]+(-0.350680745946)*x_ref[1]**o+(0.678841285054)*x_ref[1]
36289            ref[1,0,2,0]=(0.673910318085)*x_ref[0]**o+(-0.15303471314)*x_ref[0]+(-0.0889279944344)*x_ref[1]**o+(-0.0356474498002)*x_ref[1]
36290            ref[1,0,2,1]=(-0.875691348779)*x_ref[0]**o+(0.547300853671)*x_ref[0]+(-0.362646169132)*x_ref[1]**o+(-0.588521964671)*x_ref[1]
36291            ref[1,1,0,0]=(-0.0988912551145)*x_ref[0]**o+(-0.710944394432)*x_ref[0]+(0.153875249337)*x_ref[1]**o+(0.274427434926)*x_ref[1]
36292            ref[1,1,0,1]=(-0.0854272185591)*x_ref[0]**o+(-0.21840195791)*x_ref[0]+(0.906982245924)*x_ref[1]**o+(0.570990116211)*x_ref[1]
36293            ref[1,1,1,0]=(-0.851259116331)*x_ref[0]**o+(0.309829955487)*x_ref[0]+(0.115725082696)*x_ref[1]**o+(-0.91590292189)*x_ref[1]
36294            ref[1,1,1,1]=(-0.637464462703)*x_ref[0]**o+(-0.280971672162)*x_ref[0]+(0.270985403603)*x_ref[1]**o+(-0.534115311397)*x_ref[1]
36295            ref[1,1,2,0]=(0.670179973397)*x_ref[0]**o+(0.847483793904)*x_ref[0]+(0.0681088634526)*x_ref[1]**o+(0.412176359729)*x_ref[1]
36296            ref[1,1,2,1]=(0.0378205172485)*x_ref[0]**o+(0.974150495292)*x_ref[0]+(-0.720821275299)*x_ref[1]**o+(-0.552588296494)*x_ref[1]
36297            ref[1,2,0,0]=(0.151367609975)*x_ref[0]**o+(0.832981586349)*x_ref[0]+(0.419488381843)*x_ref[1]**o+(0.561052438283)*x_ref[1]
36298            ref[1,2,0,1]=(0.267839010425)*x_ref[0]**o+(0.47455974064)*x_ref[0]+(0.498826652567)*x_ref[1]**o+(-0.51906391205)*x_ref[1]
36299            ref[1,2,1,0]=(-0.350105107527)*x_ref[0]**o+(-0.489326689724)*x_ref[0]+(-0.156970199109)*x_ref[1]**o+(-0.175565230472)*x_ref[1]
36300            ref[1,2,1,1]=(0.754379973459)*x_ref[0]**o+(-0.70691373234)*x_ref[0]+(-0.964497356137)*x_ref[1]**o+(-0.694989442192)*x_ref[1]
36301            ref[1,2,2,0]=(-0.491090361655)*x_ref[0]**o+(0.154379441501)*x_ref[0]+(0.403809695039)*x_ref[1]**o+(-0.084183660554)*x_ref[1]
36302            ref[1,2,2,1]=(-0.164538235223)*x_ref[0]**o+(0.628058472821)*x_ref[0]+(0.331956969519)*x_ref[1]**o+(0.828755643202)*x_ref[1]
36303            ref[1,3,0,0]=(0.103479416566)*x_ref[0]**o+(0.380691196177)*x_ref[0]+(-0.350375360146)*x_ref[1]**o+(0.18528492785)*x_ref[1]
36304            ref[1,3,0,1]=(-0.0744423760559)*x_ref[0]**o+(0.912275380092)*x_ref[0]+(0.867254399179)*x_ref[1]**o+(0.410307184344)*x_ref[1]
36305            ref[1,3,1,0]=(-0.480324052626)*x_ref[0]**o+(-0.438544962062)*x_ref[0]+(0.749575808465)*x_ref[1]**o+(-0.0689669475685)*x_ref[1]
36306            ref[1,3,1,1]=(0.723325499611)*x_ref[0]**o+(-0.368668363075)*x_ref[0]+(0.404302895836)*x_ref[1]**o+(0.66913878408)*x_ref[1]
36307            ref[1,3,2,0]=(-0.122189168877)*x_ref[0]**o+(0.603362404944)*x_ref[0]+(0.184163482697)*x_ref[1]**o+(0.728136755361)*x_ref[1]
36308            ref[1,3,2,1]=(-0.149430048386)*x_ref[0]**o+(-0.478108072433)*x_ref[0]+(0.342479834611)*x_ref[1]**o+(0.596757508109)*x_ref[1]
36309            ref[1,4,0,0]=(0.334694167334)*x_ref[0]**o+(-0.815793032292)*x_ref[0]+(0.394250112116)*x_ref[1]**o+(0.269197166808)*x_ref[1]
36310            ref[1,4,0,1]=(-0.19210954081)*x_ref[0]**o+(0.416736181257)*x_ref[0]+(0.146217029416)*x_ref[1]**o+(0.906316717458)*x_ref[1]
36311            ref[1,4,1,0]=(-0.708061018673)*x_ref[0]**o+(0.299200707691)*x_ref[0]+(0.665111947965)*x_ref[1]**o+(-0.0340170473314)*x_ref[1]
36312            ref[1,4,1,1]=(0.0353929744202)*x_ref[0]**o+(0.0493194235067)*x_ref[0]+(-0.12215424813)*x_ref[1]**o+(-0.758677440837)*x_ref[1]
36313            ref[1,4,2,0]=(0.769702957701)*x_ref[0]**o+(0.901805654682)*x_ref[0]+(0.260222241019)*x_ref[1]**o+(-0.471997705392)*x_ref[1]
36314            ref[1,4,2,1]=(0.204258068316)*x_ref[0]**o+(-0.173085114573)*x_ref[0]+(-0.0253164178046)*x_ref[1]**o+(0.84254484259)*x_ref[1]
36315            ref[2,0,0,0]=(-0.688170206644)*x_ref[0]**o+(-0.718673702314)*x_ref[0]+(0.834265379201)*x_ref[1]**o+(-0.879925159193)*x_ref[1]
36316            ref[2,0,0,1]=(-0.515401334666)*x_ref[0]**o+(-0.810523180967)*x_ref[0]+(0.725182741017)*x_ref[1]**o+(-0.74319471007)*x_ref[1]
36317            ref[2,0,1,0]=(-0.799698108602)*x_ref[0]**o+(0.289222327549)*x_ref[0]+(0.0589402409999)*x_ref[1]**o+(-0.437669765839)*x_ref[1]
36318            ref[2,0,1,1]=(-0.734933454418)*x_ref[0]**o+(0.371391146956)*x_ref[0]+(-0.17797293763)*x_ref[1]**o+(-0.499412028554)*x_ref[1]
36319            ref[2,0,2,0]=(0.217283159505)*x_ref[0]**o+(-0.184871188378)*x_ref[0]+(-0.764095670777)*x_ref[1]**o+(0.103705507755)*x_ref[1]
36320            ref[2,0,2,1]=(0.578071527416)*x_ref[0]**o+(0.845365737459)*x_ref[0]+(-0.173187973137)*x_ref[1]**o+(-0.827819925403)*x_ref[1]
36321            ref[2,1,0,0]=(-0.258505119864)*x_ref[0]**o+(0.640873475074)*x_ref[0]+(-0.993841847675)*x_ref[1]**o+(0.347490565123)*x_ref[1]
36322            ref[2,1,0,1]=(0.224893445547)*x_ref[0]**o+(0.827208591218)*x_ref[0]+(0.0391563892525)*x_ref[1]**o+(-0.320939200596)*x_ref[1]
36323            ref[2,1,1,0]=(-0.993044884903)*x_ref[0]**o+(-0.395235414086)*x_ref[0]+(-0.447460653655)*x_ref[1]**o+(-0.114585622808)*x_ref[1]
36324            ref[2,1,1,1]=(0.908711735866)*x_ref[0]**o+(-0.911405008413)*x_ref[0]+(-0.798601192961)*x_ref[1]**o+(-0.432937813587)*x_ref[1]
36325            ref[2,1,2,0]=(-0.270424920067)*x_ref[0]**o+(-0.533648944143)*x_ref[0]+(0.184307763968)*x_ref[1]**o+(-0.802221601505)*x_ref[1]
36326            ref[2,1,2,1]=(0.154432841861)*x_ref[0]**o+(0.306458633794)*x_ref[0]+(0.0343421658454)*x_ref[1]**o+(-0.768559457414)*x_ref[1]
36327            ref[2,2,0,0]=(-0.497828132445)*x_ref[0]**o+(0.484920248315)*x_ref[0]+(-0.188239341875)*x_ref[1]**o+(0.100360622012)*x_ref[1]
36328            ref[2,2,0,1]=(-0.0433518780446)*x_ref[0]**o+(0.119470819101)*x_ref[0]+(0.344025017428)*x_ref[1]**o+(0.667394126898)*x_ref[1]
36329            ref[2,2,1,0]=(0.512271795846)*x_ref[0]**o+(0.567024910623)*x_ref[0]+(-0.316191920076)*x_ref[1]**o+(-0.202135136851)*x_ref[1]
36330            ref[2,2,1,1]=(0.781678855797)*x_ref[0]**o+(0.159208533718)*x_ref[0]+(-0.930150837465)*x_ref[1]**o+(-0.666903895504)*x_ref[1]
36331            ref[2,2,2,0]=(0.292270965732)*x_ref[0]**o+(-0.112877441048)*x_ref[0]+(-0.643355582049)*x_ref[1]**o+(-0.0482560996171)*x_ref[1]
36332            ref[2,2,2,1]=(0.638688065872)*x_ref[0]**o+(0.787719224138)*x_ref[0]+(0.815312681592)*x_ref[1]**o+(0.334735776221)*x_ref[1]
36333            ref[2,3,0,0]=(0.409920519672)*x_ref[0]**o+(-0.191886243537)*x_ref[0]+(-0.348205383522)*x_ref[1]**o+(-0.651065510647)*x_ref[1]
36334            ref[2,3,0,1]=(0.824428500178)*x_ref[0]**o+(-0.909533490456)*x_ref[0]+(-0.455079541262)*x_ref[1]**o+(-0.613994310127)*x_ref[1]
36335            ref[2,3,1,0]=(0.225908995914)*x_ref[0]**o+(0.258098741048)*x_ref[0]+(-0.858905205327)*x_ref[1]**o+(0.535845140874)*x_ref[1]
36336            ref[2,3,1,1]=(-0.183600641837)*x_ref[0]**o+(-0.0436432564818)*x_ref[0]+(0.306524301109)*x_ref[1]**o+(0.662513699164)*x_ref[1]
36337            ref[2,3,2,0]=(-0.678973103555)*x_ref[0]**o+(0.674110571991)*x_ref[0]+(-0.129743880618)*x_ref[1]**o+(-0.210759231178)*x_ref[1]
36338            ref[2,3,2,1]=(-0.594989617102)*x_ref[0]**o+(0.0557145839856)*x_ref[0]+(-0.379516802094)*x_ref[1]**o+(-0.496127170036)*x_ref[1]
36339            ref[2,4,0,0]=(0.401088886175)*x_ref[0]**o+(-0.208580896076)*x_ref[0]+(-0.655582275521)*x_ref[1]**o+(-0.522892532154)*x_ref[1]
36340            ref[2,4,0,1]=(0.609111916382)*x_ref[0]**o+(-0.864603847696)*x_ref[0]+(-0.373482060442)*x_ref[1]**o+(0.048777005392)*x_ref[1]
36341            ref[2,4,1,0]=(-0.503935244799)*x_ref[0]**o+(0.320517360825)*x_ref[0]+(-0.658994963813)*x_ref[1]**o+(0.00465823412972)*x_ref[1]
36342            ref[2,4,1,1]=(-0.202767966863)*x_ref[0]**o+(0.737239608437)*x_ref[0]+(-0.633206522406)*x_ref[1]**o+(-0.408531988781)*x_ref[1]
36343            ref[2,4,2,0]=(0.660048575091)*x_ref[0]**o+(-0.399137043056)*x_ref[0]+(-0.0977181117895)*x_ref[1]**o+(0.148903352776)*x_ref[1]
36344            ref[2,4,2,1]=(-0.396768795712)*x_ref[0]**o+(-0.550388681028)*x_ref[0]+(0.0946256561554)*x_ref[1]**o+(-0.0566941754267)*x_ref[1]
36345            ref[3,0,0,0]=(0.0647180650687)*x_ref[0]**o+(0.920788893299)*x_ref[0]+(0.131306350033)*x_ref[1]**o+(-0.840527983774)*x_ref[1]
36346            ref[3,0,0,1]=(0.451700262969)*x_ref[0]**o+(-0.16104676139)*x_ref[0]+(0.114145999713)*x_ref[1]**o+(-0.949265482931)*x_ref[1]
36347            ref[3,0,1,0]=(-0.219444617083)*x_ref[0]**o+(0.846470673388)*x_ref[0]+(-0.341392225388)*x_ref[1]**o+(-0.721912717627)*x_ref[1]
36348            ref[3,0,1,1]=(-0.199502120929)*x_ref[0]**o+(-0.00662410675554)*x_ref[0]+(0.0529013037694)*x_ref[1]**o+(-0.022278580228)*x_ref[1]
36349            ref[3,0,2,0]=(0.803500732535)*x_ref[0]**o+(0.754138333448)*x_ref[0]+(0.822404687478)*x_ref[1]**o+(0.900099584934)*x_ref[1]
36350            ref[3,0,2,1]=(0.84674757393)*x_ref[0]**o+(0.326823539079)*x_ref[0]+(-0.824446392056)*x_ref[1]**o+(-0.506583766552)*x_ref[1]
36351            ref[3,1,0,0]=(0.816775849327)*x_ref[0]**o+(0.957523430402)*x_ref[0]+(-0.822535686534)*x_ref[1]**o+(-0.583389123083)*x_ref[1]
36352            ref[3,1,0,1]=(0.518120693337)*x_ref[0]**o+(0.0946135115511)*x_ref[0]+(0.577364260402)*x_ref[1]**o+(-0.677435109716)*x_ref[1]
36353            ref[3,1,1,0]=(-0.559041961891)*x_ref[0]**o+(0.436791134026)*x_ref[0]+(0.287609046653)*x_ref[1]**o+(-0.484573207793)*x_ref[1]
36354            ref[3,1,1,1]=(-0.0786041693053)*x_ref[0]**o+(0.793526931222)*x_ref[0]+(0.055780633982)*x_ref[1]**o+(0.0447074319839)*x_ref[1]
36355            ref[3,1,2,0]=(-0.190231018951)*x_ref[0]**o+(-0.61318830169)*x_ref[0]+(-0.157202158534)*x_ref[1]**o+(-0.823043159126)*x_ref[1]
36356            ref[3,1,2,1]=(-0.502637901786)*x_ref[0]**o+(0.781083145697)*x_ref[0]+(-0.663013942651)*x_ref[1]**o+(-0.305726874525)*x_ref[1]
36357            ref[3,2,0,0]=(0.566955929517)*x_ref[0]**o+(-0.506981068575)*x_ref[0]+(-0.831439289654)*x_ref[1]**o+(-0.337491442765)*x_ref[1]
36358            ref[3,2,0,1]=(-0.713648844422)*x_ref[0]**o+(-0.00815764297609)*x_ref[0]+(0.829706206618)*x_ref[1]**o+(0.96471376965)*x_ref[1]
36359            ref[3,2,1,0]=(-0.944705561715)*x_ref[0]**o+(-0.87962603172)*x_ref[0]+(-0.0525190846342)*x_ref[1]**o+(-0.0457463400515)*x_ref[1]
36360            ref[3,2,1,1]=(0.54922446571)*x_ref[0]**o+(0.651923573438)*x_ref[0]+(-0.00229398468376)*x_ref[1]**o+(-0.00170863787749)*x_ref[1]
36361            ref[3,2,2,0]=(0.622372079685)*x_ref[0]**o+(-0.553578221845)*x_ref[0]+(-0.737877450857)*x_ref[1]**o+(0.459729854002)*x_ref[1]
36362            ref[3,2,2,1]=(0.826155732508)*x_ref[0]**o+(-0.000468898258991)*x_ref[0]+(-0.255179342686)*x_ref[1]**o+(-0.80957312045)*x_ref[1]
36363            ref[3,3,0,0]=(-0.195212469839)*x_ref[0]**o+(-0.0235216449547)*x_ref[0]+(-0.175192639485)*x_ref[1]**o+(-0.58937661213)*x_ref[1]
36364            ref[3,3,0,1]=(-0.931538910404)*x_ref[0]**o+(0.649282880007)*x_ref[0]+(-0.237841482637)*x_ref[1]**o+(-0.0220516220802)*x_ref[1]
36365            ref[3,3,1,0]=(0.420911057166)*x_ref[0]**o+(0.200126728184)*x_ref[0]+(-0.829130861656)*x_ref[1]**o+(-0.563462916661)*x_ref[1]
36366            ref[3,3,1,1]=(-0.148199974575)*x_ref[0]**o+(-0.248825389533)*x_ref[0]+(-0.346424894584)*x_ref[1]**o+(0.339758232978)*x_ref[1]
36367            ref[3,3,2,0]=(0.249372496215)*x_ref[0]**o+(-0.343626915746)*x_ref[0]+(0.0961351845087)*x_ref[1]**o+(0.612679249068)*x_ref[1]
36368            ref[3,3,2,1]=(0.985380582259)*x_ref[0]**o+(-0.603514318626)*x_ref[0]+(-0.131105546364)*x_ref[1]**o+(-0.0798158697238)*x_ref[1]
36369            ref[3,4,0,0]=(0.478635365792)*x_ref[0]**o+(-0.964424450881)*x_ref[0]+(-0.469995535544)*x_ref[1]**o+(-0.72871149515)*x_ref[1]
36370            ref[3,4,0,1]=(-0.264802297415)*x_ref[0]**o+(-0.926518282507)*x_ref[0]+(0.803390182149)*x_ref[1]**o+(0.387910762706)*x_ref[1]
36371            ref[3,4,1,0]=(0.0452448579909)*x_ref[0]**o+(-0.0482221515826)*x_ref[0]+(-0.728020494982)*x_ref[1]**o+(-0.288823633249)*x_ref[1]
36372            ref[3,4,1,1]=(-0.640459595265)*x_ref[0]**o+(0.759525453728)*x_ref[0]+(-0.0280300707884)*x_ref[1]**o+(0.079438187123)*x_ref[1]
36373            ref[3,4,2,0]=(-0.14185171171)*x_ref[0]**o+(-0.810989314052)*x_ref[0]+(0.921902325773)*x_ref[1]**o+(0.885920658784)*x_ref[1]
36374            ref[3,4,2,1]=(-0.0101259901393)*x_ref[0]**o+(-0.696541046542)*x_ref[0]+(0.127932822496)*x_ref[1]**o+(-0.822265796323)*x_ref[1]
36375          else:
36376            arg[0,0,0,0]=(-0.657703355307)*x[0]**o+(0.397813831843)*x[0]+(0.364460538717)*x[1]**o+(-0.845626669617)*x[1]+(-0.987144254126)*x[2]**o+(-0.732384980726)*x[2]
36377            arg[0,0,0,1]=(-0.13280304886)*x[0]**o+(-0.953796807758)*x[0]+(0.875723746654)*x[1]**o+(0.0764745117242)*x[1]+(-0.536085676221)*x[2]**o+(-0.520611959678)*x[2]
36378            arg[0,0,1,0]=(0.716429446578)*x[0]**o+(-0.729164693441)*x[0]+(-0.832505557428)*x[1]**o+(-0.329200605611)*x[1]+(0.0310162060964)*x[2]**o+(-0.869978941999)*x[2]
36379            arg[0,0,1,1]=(0.110253530584)*x[0]**o+(0.995528486822)*x[0]+(0.838577797395)*x[1]**o+(0.443987752225)*x[1]+(0.387337959057)*x[2]**o+(0.548448752612)*x[2]
36380            arg[0,0,2,0]=(-0.995737515431)*x[0]**o+(-0.899807241717)*x[0]+(-0.0803287764138)*x[1]**o+(0.242680051556)*x[1]+(0.58974836823)*x[2]**o+(-0.498450188944)*x[2]
36381            arg[0,0,2,1]=(0.341561541555)*x[0]**o+(-0.00541988184597)*x[0]+(-0.204832898701)*x[1]**o+(-0.957247935865)*x[1]+(-0.441002902064)*x[2]**o+(0.756843480304)*x[2]
36382            arg[0,1,0,0]=(0.136201526244)*x[0]**o+(0.517677304193)*x[0]+(0.523031610748)*x[1]**o+(-0.908998053383)*x[1]+(-0.629649678416)*x[2]**o+(0.762977917512)*x[2]
36383            arg[0,1,0,1]=(-0.103521080864)*x[0]**o+(-0.434410222595)*x[0]+(0.418239530241)*x[1]**o+(0.65638475119)*x[1]+(0.413036393129)*x[2]**o+(-0.220365518353)*x[2]
36384            arg[0,1,1,0]=(-0.415690201483)*x[0]**o+(-0.969323394689)*x[0]+(-0.295639420195)*x[1]**o+(-0.24915002749)*x[1]+(-0.00927627101467)*x[2]**o+(0.520335261634)*x[2]
36385            arg[0,1,1,1]=(-0.262653741797)*x[0]**o+(-0.463590591666)*x[0]+(0.568893042923)*x[1]**o+(-0.869851332898)*x[1]+(-0.463261399415)*x[2]**o+(0.0281915686202)*x[2]
36386            arg[0,1,2,0]=(0.377159503058)*x[0]**o+(0.484512261943)*x[0]+(0.0303594628925)*x[1]**o+(0.482051243004)*x[1]+(0.240643013949)*x[2]**o+(-0.943908617705)*x[2]
36387            arg[0,1,2,1]=(0.843854614097)*x[0]**o+(0.018041534553)*x[0]+(0.264198703361)*x[1]**o+(0.732889517628)*x[1]+(-0.154807384394)*x[2]**o+(0.60513622187)*x[2]
36388            arg[0,2,0,0]=(-0.234758118286)*x[0]**o+(-0.77807396119)*x[0]+(-0.97783091103)*x[1]**o+(-0.716185223828)*x[1]+(-0.573126474259)*x[2]**o+(0.403110701555)*x[2]
36389            arg[0,2,0,1]=(-0.853878344804)*x[0]**o+(-0.482644826561)*x[0]+(-0.826041149012)*x[1]**o+(0.596376234798)*x[1]+(-0.216400517274)*x[2]**o+(-0.323127194259)*x[2]
36390            arg[0,2,1,0]=(0.931551121492)*x[0]**o+(-0.527132174379)*x[0]+(0.373496704463)*x[1]**o+(-0.375215826463)*x[1]+(-0.639167297984)*x[2]**o+(0.143608733189)*x[2]
36391            arg[0,2,1,1]=(-0.982206000879)*x[0]**o+(0.836589596534)*x[0]+(0.606275000138)*x[1]**o+(-0.821469453892)*x[1]+(-0.633828380948)*x[2]**o+(-0.637688777216)*x[2]
36392            arg[0,2,2,0]=(0.441649557529)*x[0]**o+(-0.34978365051)*x[0]+(0.514175365405)*x[1]**o+(-0.903212271234)*x[1]+(0.70236887156)*x[2]**o+(0.72953045189)*x[2]
36393            arg[0,2,2,1]=(0.302787896978)*x[0]**o+(0.157598071021)*x[0]+(-0.357101947632)*x[1]**o+(0.381098383156)*x[1]+(-0.552546036689)*x[2]**o+(0.448181721984)*x[2]
36394            arg[0,3,0,0]=(0.662181077399)*x[0]**o+(-0.283755239518)*x[0]+(0.33694741278)*x[1]**o+(0.275801685868)*x[1]+(0.526155259101)*x[2]**o+(-0.378241855559)*x[2]
36395            arg[0,3,0,1]=(0.157822133581)*x[0]**o+(0.25402072747)*x[0]+(0.522842123099)*x[1]**o+(0.510595773584)*x[1]+(-0.829239126666)*x[2]**o+(0.990879342044)*x[2]
36396            arg[0,3,1,0]=(-0.775925280059)*x[0]**o+(-0.726971388023)*x[0]+(-0.630088730753)*x[1]**o+(-0.731024178237)*x[1]+(-0.288643541196)*x[2]**o+(-0.283708428793)*x[2]
36397            arg[0,3,1,1]=(-0.883176640445)*x[0]**o+(-0.0810211976762)*x[0]+(-0.102919217784)*x[1]**o+(0.271384866385)*x[1]+(0.980796900477)*x[2]**o+(0.439294038672)*x[2]
36398            arg[0,3,2,0]=(-0.826688221502)*x[0]**o+(-0.909388347347)*x[0]+(0.164406927722)*x[1]**o+(0.60157189364)*x[1]+(-0.885578176748)*x[2]**o+(0.610008674247)*x[2]
36399            arg[0,3,2,1]=(0.130154197193)*x[0]**o+(-0.754703602975)*x[0]+(0.00463710497017)*x[1]**o+(0.502162916123)*x[1]+(-0.749124548541)*x[2]**o+(0.946592962092)*x[2]
36400            arg[0,4,0,0]=(-0.0478347448906)*x[0]**o+(-0.812937871882)*x[0]+(-0.460982012551)*x[1]**o+(0.317485998991)*x[1]+(-0.593671683477)*x[2]**o+(0.551385718668)*x[2]
36401            arg[0,4,0,1]=(0.281998767502)*x[0]**o+(-0.0613830311997)*x[0]+(0.981429151019)*x[1]**o+(-0.580567714008)*x[1]+(0.0369483005331)*x[2]**o+(-0.74132358588)*x[2]
36402            arg[0,4,1,0]=(0.525845217483)*x[0]**o+(0.907803915216)*x[0]+(0.111429079263)*x[1]**o+(-0.653030401377)*x[1]+(0.0814793913696)*x[2]**o+(-0.419201413875)*x[2]
36403            arg[0,4,1,1]=(0.862892518463)*x[0]**o+(0.34033875398)*x[0]+(0.0371376953103)*x[1]**o+(0.568160310726)*x[1]+(-0.237231036717)*x[2]**o+(-0.130046899302)*x[2]
36404            arg[0,4,2,0]=(0.223651181698)*x[0]**o+(0.730991398203)*x[0]+(0.133551525027)*x[1]**o+(0.685783540126)*x[1]+(0.339586395814)*x[2]**o+(-0.524371194863)*x[2]
36405            arg[0,4,2,1]=(0.220110871383)*x[0]**o+(-0.37385773877)*x[0]+(0.773372000545)*x[1]**o+(-0.4261356565)*x[1]+(-0.619438438945)*x[2]**o+(0.126288949127)*x[2]
36406            arg[1,0,0,0]=(0.727680196631)*x[0]**o+(-0.876280912599)*x[0]+(0.576553782915)*x[1]**o+(-0.0497780322367)*x[1]+(-0.690257457282)*x[2]**o+(-0.11130953054)*x[2]
36407            arg[1,0,0,1]=(0.331863815938)*x[0]**o+(0.169379824389)*x[0]+(0.665507756012)*x[1]**o+(0.94933357273)*x[1]+(-0.610506070093)*x[2]**o+(0.752476708027)*x[2]
36408            arg[1,0,1,0]=(0.851320583415)*x[0]**o+(-0.697235996161)*x[0]+(0.235192165807)*x[1]**o+(0.325473517022)*x[1]+(-0.424683549673)*x[2]**o+(0.228953796486)*x[2]
36409            arg[1,0,1,1]=(0.804192098517)*x[0]**o+(-0.684337197059)*x[0]+(-0.349251615715)*x[1]**o+(0.596165705743)*x[1]+(-0.636033221182)*x[2]**o+(-0.304367076307)*x[2]
36410            arg[1,0,2,0]=(-0.237305477187)*x[0]**o+(-0.997679652719)*x[0]+(0.485994068389)*x[1]**o+(0.44508530534)*x[1]+(0.940139935628)*x[2]**o+(0.0789221540062)*x[2]
36411            arg[1,0,2,1]=(0.814928463364)*x[0]**o+(-0.257693939789)*x[0]+(0.179643785703)*x[1]**o+(-0.696436530567)*x[1]+(-0.592226945554)*x[2]**o+(-0.454620411499)*x[2]
36412            arg[1,1,0,0]=(-0.933925672439)*x[0]**o+(0.212298180817)*x[0]+(-0.447836316801)*x[1]**o+(0.180796376138)*x[1]+(-0.749910125701)*x[2]**o+(0.134540433851)*x[2]
36413            arg[1,1,0,1]=(-0.649009346978)*x[0]**o+(0.0316819485953)*x[0]+(-0.718001767835)*x[1]**o+(0.289608435124)*x[1]+(-0.906045493384)*x[2]**o+(0.851021484125)*x[2]
36414            arg[1,1,1,0]=(-0.216265404566)*x[0]**o+(0.657073282172)*x[0]+(-0.796155541438)*x[1]**o+(0.338980498824)*x[1]+(0.477444448193)*x[2]**o+(0.674278909522)*x[2]
36415            arg[1,1,1,1]=(-0.67605942954)*x[0]**o+(0.457997253216)*x[0]+(-0.973576381948)*x[1]**o+(0.430432753773)*x[1]+(0.0329169564451)*x[2]**o+(-0.422512702485)*x[2]
36416            arg[1,1,2,0]=(-0.32458256139)*x[0]**o+(0.289568625922)*x[0]+(-0.529564027476)*x[1]**o+(0.596449833118)*x[1]+(0.960461031989)*x[2]**o+(0.00801425321069)*x[2]
36417            arg[1,1,2,1]=(-0.0425883615923)*x[0]**o+(-0.313926807333)*x[0]+(0.766062773671)*x[1]**o+(-0.857784560309)*x[1]+(0.914867381682)*x[2]**o+(-0.312493334639)*x[2]
36418            arg[1,2,0,0]=(-0.637151767355)*x[0]**o+(-0.679947136952)*x[0]+(-0.0838349105494)*x[1]**o+(0.00800835879666)*x[1]+(0.385024194519)*x[2]**o+(-0.627828236571)*x[2]
36419            arg[1,2,0,1]=(-0.62580153007)*x[0]**o+(-0.183834415542)*x[0]+(0.322406823575)*x[1]**o+(0.302908755868)*x[1]+(0.727234001542)*x[2]**o+(-0.933944878425)*x[2]
36420            arg[1,2,1,0]=(-0.897198312615)*x[0]**o+(0.825086526945)*x[0]+(-0.031001758991)*x[1]**o+(0.987845551304)*x[1]+(-0.551212418179)*x[2]**o+(0.657813241764)*x[2]
36421            arg[1,2,1,1]=(-0.544595822278)*x[0]**o+(0.595858429591)*x[0]+(-0.557503238514)*x[1]**o+(0.507560179011)*x[1]+(-0.519438270771)*x[2]**o+(-0.471678264995)*x[2]
36422            arg[1,2,2,0]=(0.135616278099)*x[0]**o+(0.40676743342)*x[0]+(0.458810719213)*x[1]**o+(-0.881620410228)*x[1]+(-0.897267732846)*x[2]**o+(0.665458992487)*x[2]
36423            arg[1,2,2,1]=(0.83854610457)*x[0]**o+(0.670263196782)*x[0]+(0.551767734306)*x[1]**o+(0.883934821215)*x[1]+(0.455375261768)*x[2]**o+(0.95604480045)*x[2]
36424            arg[1,3,0,0]=(0.705853698882)*x[0]**o+(0.84681314245)*x[0]+(-0.0984020252408)*x[1]**o+(0.943165990555)*x[1]+(-0.428955841327)*x[2]**o+(0.0961618993003)*x[2]
36425            arg[1,3,0,1]=(0.583731800337)*x[0]**o+(-0.738079255003)*x[0]+(0.315556768944)*x[1]**o+(-0.489631118687)*x[1]+(0.371775779104)*x[2]**o+(0.82029490872)*x[2]
36426            arg[1,3,1,0]=(-0.885657545142)*x[0]**o+(0.542706113286)*x[0]+(0.800319452136)*x[1]**o+(0.314194184897)*x[1]+(-0.320905532427)*x[2]**o+(-0.314307365683)*x[2]
36427            arg[1,3,1,1]=(-0.217030771566)*x[0]**o+(0.260108519031)*x[0]+(-0.686624725975)*x[1]**o+(-0.869322439609)*x[1]+(0.558806239315)*x[2]**o+(-0.440661121246)*x[2]
36428            arg[1,3,2,0]=(-0.839335541382)*x[0]**o+(0.228726621639)*x[0]+(0.354403444002)*x[1]**o+(0.215616048959)*x[1]+(0.49622647562)*x[2]**o+(-0.725639112729)*x[2]
36429            arg[1,3,2,1]=(-0.439687404632)*x[0]**o+(-0.820583921269)*x[0]+(-0.863730409631)*x[1]**o+(0.119773401911)*x[1]+(0.460158483187)*x[2]**o+(0.757153436592)*x[2]
36430            arg[1,4,0,0]=(-0.77288839701)*x[0]**o+(-0.570203714622)*x[0]+(0.93832772305)*x[1]**o+(-0.759089944596)*x[1]+(0.000174937961704)*x[2]**o+(0.812917484286)*x[2]
36431            arg[1,4,0,1]=(-0.25535378432)*x[0]**o+(-0.0938207170929)*x[0]+(0.0545321717685)*x[1]**o+(-0.414414792674)*x[1]+(-0.297698896712)*x[2]**o+(-0.367166660571)*x[2]
36432            arg[1,4,1,0]=(0.743408112248)*x[0]**o+(0.852863814785)*x[0]+(0.259483951249)*x[1]**o+(-0.519288864163)*x[1]+(-0.305772267727)*x[2]**o+(-0.401384318883)*x[2]
36433            arg[1,4,1,1]=(0.194889815352)*x[0]**o+(0.522093986804)*x[0]+(-0.343320977396)*x[1]**o+(0.21840236597)*x[1]+(-0.672107409136)*x[2]**o+(-0.600203805002)*x[2]
36434            arg[1,4,2,0]=(0.420860556361)*x[0]**o+(0.789879869049)*x[0]+(0.100987805744)*x[1]**o+(0.802794815123)*x[1]+(-0.69466030201)*x[2]**o+(-0.746043845966)*x[2]
36435            arg[1,4,2,1]=(-0.306621579211)*x[0]**o+(-0.0676982346933)*x[0]+(0.568861573715)*x[1]**o+(0.0823366334578)*x[1]+(0.501187255641)*x[2]**o+(-0.538615164478)*x[2]
36436            arg[2,0,0,0]=(-0.231052916706)*x[0]**o+(0.127790831537)*x[0]+(-0.475600435038)*x[1]**o+(0.431586151473)*x[1]+(-0.882365547235)*x[2]**o+(0.778027701879)*x[2]
36437            arg[2,0,0,1]=(0.0709490835498)*x[0]**o+(0.442614693755)*x[0]+(0.870405247692)*x[1]**o+(-0.648538779515)*x[1]+(0.751107652054)*x[2]**o+(0.0122956931127)*x[2]
36438            arg[2,0,1,0]=(0.703128329145)*x[0]**o+(0.259775843631)*x[0]+(0.311958888594)*x[1]**o+(-0.0445092402277)*x[1]+(0.338222457799)*x[2]**o+(0.845995300456)*x[2]
36439            arg[2,0,1,1]=(-0.653977898919)*x[0]**o+(0.0495539350857)*x[0]+(0.4013623408)*x[1]**o+(0.490747039887)*x[1]+(-0.480487636729)*x[2]**o+(0.361660115775)*x[2]
36440            arg[2,0,2,0]=(0.215778506945)*x[0]**o+(0.316853875053)*x[0]+(0.556770639829)*x[1]**o+(-0.499729882355)*x[1]+(0.692012327582)*x[2]**o+(0.00681314946195)*x[2]
36441            arg[2,0,2,1]=(0.432077857223)*x[0]**o+(-0.0497579036988)*x[0]+(-0.465403408565)*x[1]**o+(0.125421502956)*x[1]+(-0.313541879877)*x[2]**o+(0.113957941731)*x[2]
36442            arg[2,1,0,0]=(-0.528126103192)*x[0]**o+(-0.141306512096)*x[0]+(-0.505835313198)*x[1]**o+(-0.0433171534408)*x[1]+(-0.522465687628)*x[2]**o+(-0.16728285732)*x[2]
36443            arg[2,1,0,1]=(0.892019660948)*x[0]**o+(0.646944130193)*x[0]+(0.865495756748)*x[1]**o+(0.949095276008)*x[1]+(0.786394755068)*x[2]**o+(0.482441081687)*x[2]
36444            arg[2,1,1,0]=(-0.0485295711204)*x[0]**o+(0.250163927911)*x[0]+(0.0387861125998)*x[1]**o+(-0.0789121929817)*x[1]+(-0.982330126583)*x[2]**o+(0.66328870814)*x[2]
36445            arg[2,1,1,1]=(-0.494726556678)*x[0]**o+(-0.961342091528)*x[0]+(0.211410563083)*x[1]**o+(-0.884287887286)*x[1]+(-0.583401908135)*x[2]**o+(-0.361423905219)*x[2]
36446            arg[2,1,2,0]=(-0.326785246692)*x[0]**o+(0.596272945325)*x[0]+(0.625039539234)*x[1]**o+(0.88699688986)*x[1]+(-0.649803810419)*x[2]**o+(0.890718271469)*x[2]
36447            arg[2,1,2,1]=(0.702110072391)*x[0]**o+(0.72009439563)*x[0]+(-0.930941572511)*x[1]**o+(0.955877158334)*x[1]+(0.1211281332)*x[2]**o+(0.658738626852)*x[2]
36448            arg[2,2,0,0]=(-0.177402589697)*x[0]**o+(0.701090894256)*x[0]+(-0.00205333079339)*x[1]**o+(-0.427862310859)*x[1]+(0.529186374803)*x[2]**o+(-0.110462035551)*x[2]
36449            arg[2,2,0,1]=(-0.104112165367)*x[0]**o+(0.043539351452)*x[0]+(0.757384935306)*x[1]**o+(-0.451086492844)*x[1]+(0.0549627297033)*x[2]**o+(-0.311718955315)*x[2]
36450            arg[2,2,1,0]=(-0.579986090808)*x[0]**o+(-0.922872917924)*x[0]+(0.66422700207)*x[1]**o+(0.947304780214)*x[1]+(-0.0492553517704)*x[2]**o+(0.817225619153)*x[2]
36451            arg[2,2,1,1]=(0.306298476233)*x[0]**o+(-0.620190960783)*x[0]+(-0.684876074013)*x[1]**o+(-0.371829616982)*x[1]+(0.904709743321)*x[2]**o+(0.170802273852)*x[2]
36452            arg[2,2,2,0]=(0.317943399758)*x[0]**o+(0.518026054212)*x[0]+(-0.801462311167)*x[1]**o+(0.767424157898)*x[1]+(-0.547271995492)*x[2]**o+(-0.912619177188)*x[2]
36453            arg[2,2,2,1]=(-0.848711258358)*x[0]**o+(0.456489097468)*x[0]+(-0.310979078367)*x[1]**o+(-0.946717007726)*x[1]+(0.454363833646)*x[2]**o+(-0.715701991077)*x[2]
36454            arg[2,3,0,0]=(0.605493533014)*x[0]**o+(0.478437880368)*x[0]+(-0.672727491605)*x[1]**o+(0.831259256009)*x[1]+(-0.434153354239)*x[2]**o+(-0.505363218578)*x[2]
36455            arg[2,3,0,1]=(-0.0703539676643)*x[0]**o+(-0.452352344215)*x[0]+(0.0403568720903)*x[1]**o+(0.959415939826)*x[1]+(-0.784519698477)*x[2]**o+(-0.691664442958)*x[2]
36456            arg[2,3,1,0]=(0.696353768719)*x[0]**o+(0.295477297618)*x[0]+(0.580540484825)*x[1]**o+(0.098954967023)*x[1]+(-0.547594444517)*x[2]**o+(-0.574783665389)*x[2]
36457            arg[2,3,1,1]=(0.997841887408)*x[0]**o+(0.857864040549)*x[0]+(-0.413188343971)*x[1]**o+(0.344770631687)*x[1]+(-0.127257058552)*x[2]**o+(0.132618819456)*x[2]
36458            arg[2,3,2,0]=(0.174045751083)*x[0]**o+(0.866724759298)*x[0]+(0.0818516103455)*x[1]**o+(-0.891670609599)*x[1]+(0.982721717044)*x[2]**o+(0.378710155856)*x[2]
36459            arg[2,3,2,1]=(0.7760778906)*x[0]**o+(-0.710104290654)*x[0]+(-0.471259845977)*x[1]**o+(-0.791979211724)*x[1]+(-0.845652753706)*x[2]**o+(-0.301795837852)*x[2]
36460            arg[2,4,0,0]=(-0.698193658421)*x[0]**o+(-0.831956135385)*x[0]+(-0.442637915133)*x[1]**o+(0.108715813637)*x[1]+(-0.888348149694)*x[2]**o+(-0.90115888496)*x[2]
36461            arg[2,4,0,1]=(0.770237705577)*x[0]**o+(0.889304763618)*x[0]+(-0.139196183564)*x[1]**o+(0.332516232239)*x[1]+(-0.0218103253052)*x[2]**o+(-0.368033928854)*x[2]
36462            arg[2,4,1,0]=(0.675479351844)*x[0]**o+(0.880998418303)*x[0]+(0.408381837105)*x[1]**o+(0.717402364084)*x[1]+(-0.303902947422)*x[2]**o+(-0.322350049962)*x[2]
36463            arg[2,4,1,1]=(-0.480881673289)*x[0]**o+(0.30290141529)*x[0]+(-0.538411390886)*x[1]**o+(0.260090848702)*x[1]+(0.638130764808)*x[2]**o+(0.756338975575)*x[2]
36464            arg[2,4,2,0]=(-0.299233221889)*x[0]**o+(-0.26471083761)*x[0]+(0.717191172884)*x[1]**o+(0.488553216118)*x[1]+(0.718956726644)*x[2]**o+(0.370889025703)*x[2]
36465            arg[2,4,2,1]=(-0.989020272269)*x[0]**o+(-0.891423884362)*x[0]+(0.486153100693)*x[1]**o+(-0.971171395246)*x[1]+(-0.766942968184)*x[2]**o+(0.728728968862)*x[2]
36466            arg[3,0,0,0]=(0.756186246227)*x[0]**o+(0.76507856268)*x[0]+(0.771165000414)*x[1]**o+(0.673968873856)*x[1]+(0.827045846253)*x[2]**o+(-0.788265752412)*x[2]
36467            arg[3,0,0,1]=(-0.66925731439)*x[0]**o+(-0.0110127596435)*x[0]+(0.944388255414)*x[1]**o+(-0.613832072486)*x[1]+(0.0977542120724)*x[2]**o+(0.100776856689)*x[2]
36468            arg[3,0,1,0]=(0.905138713064)*x[0]**o+(0.673051338153)*x[0]+(0.240614253653)*x[1]**o+(-0.964132330033)*x[1]+(-0.114961018838)*x[2]**o+(-0.438756962988)*x[2]
36469            arg[3,0,1,1]=(-0.192259182094)*x[0]**o+(0.12315590119)*x[0]+(-0.907744420226)*x[1]**o+(-0.483981269809)*x[1]+(-0.169699431472)*x[2]**o+(-0.45231635406)*x[2]
36470            arg[3,0,2,0]=(0.895387255885)*x[0]**o+(0.23892997411)*x[0]+(-0.396010446618)*x[1]**o+(0.94853984413)*x[1]+(-0.0165259637241)*x[2]**o+(-0.312558539149)*x[2]
36471            arg[3,0,2,1]=(0.710478713361)*x[0]**o+(-0.109316102216)*x[0]+(-0.042711568986)*x[1]**o+(-0.448508085742)*x[1]+(-0.0979193346011)*x[2]**o+(0.93156672211)*x[2]
36472            arg[3,1,0,0]=(-0.21605108221)*x[0]**o+(0.410466481712)*x[0]+(0.799288386783)*x[1]**o+(0.622866017113)*x[1]+(-0.236698938159)*x[2]**o+(0.246625241928)*x[2]
36473            arg[3,1,0,1]=(0.989568527762)*x[0]**o+(0.0212906378151)*x[0]+(0.311279947324)*x[1]**o+(-0.231412902902)*x[1]+(-0.444760786142)*x[2]**o+(0.908171985421)*x[2]
36474            arg[3,1,1,0]=(0.42605234231)*x[0]**o+(-0.58629332944)*x[0]+(0.322063640761)*x[1]**o+(0.837771339825)*x[1]+(-0.911083211394)*x[2]**o+(-0.0699607581992)*x[2]
36475            arg[3,1,1,1]=(0.75449445591)*x[0]**o+(0.722970800307)*x[0]+(-0.582970919465)*x[1]**o+(-0.868818538212)*x[1]+(0.940067636181)*x[2]**o+(-0.659469743617)*x[2]
36476            arg[3,1,2,0]=(-0.391224924663)*x[0]**o+(-0.768173177737)*x[0]+(-0.856876347997)*x[1]**o+(-0.0451180499647)*x[1]+(0.198590679246)*x[2]**o+(0.187329095476)*x[2]
36477            arg[3,1,2,1]=(0.483309063092)*x[0]**o+(-0.0777241026893)*x[0]+(0.0438427457286)*x[1]**o+(-0.73195704867)*x[1]+(-0.439660745725)*x[2]**o+(0.279501672861)*x[2]
36478            arg[3,2,0,0]=(0.799935089139)*x[0]**o+(-0.306860809857)*x[0]+(0.169104975039)*x[1]**o+(-0.3480717525)*x[1]+(0.215231688)*x[2]**o+(-0.528775376945)*x[2]
36479            arg[3,2,0,1]=(0.917815789587)*x[0]**o+(0.0672910338102)*x[0]+(-0.186550440011)*x[1]**o+(0.922579714252)*x[1]+(0.924162379857)*x[2]**o+(-0.769320483618)*x[2]
36480            arg[3,2,1,0]=(0.604324468058)*x[0]**o+(-0.0109731419053)*x[0]+(0.229447318325)*x[1]**o+(-0.480693435232)*x[1]+(-0.881779256999)*x[2]**o+(0.288656394771)*x[2]
36481            arg[3,2,1,1]=(0.934680723352)*x[0]**o+(0.993838528376)*x[0]+(0.957781588502)*x[1]**o+(-0.859837057866)*x[1]+(-0.702139964493)*x[2]**o+(0.0538177124609)*x[2]
36482            arg[3,2,2,0]=(-0.142809047814)*x[0]**o+(-0.472594415134)*x[0]+(0.0381782768377)*x[1]**o+(0.727331491769)*x[1]+(0.0910992897581)*x[2]**o+(-0.845316063851)*x[2]
36483            arg[3,2,2,1]=(-0.217483358272)*x[0]**o+(0.991535092285)*x[0]+(-0.399175896468)*x[1]**o+(-0.665836512895)*x[1]+(0.0983700911493)*x[2]**o+(0.321811300155)*x[2]
36484            arg[3,3,0,0]=(0.797049585464)*x[0]**o+(-0.724467959299)*x[0]+(0.19971589973)*x[1]**o+(0.845928461864)*x[1]+(-0.365158866359)*x[2]**o+(-0.698274270132)*x[2]
36485            arg[3,3,0,1]=(-0.638474704878)*x[0]**o+(0.551866433352)*x[0]+(0.192309452979)*x[1]**o+(-0.703649325501)*x[1]+(0.823910578138)*x[2]**o+(-0.917446989634)*x[2]
36486            arg[3,3,1,0]=(0.217577282169)*x[0]**o+(0.521716803668)*x[0]+(-0.116587783856)*x[1]**o+(0.529672391417)*x[1]+(-0.798918158284)*x[2]**o+(-0.0996139511955)*x[2]
36487            arg[3,3,1,1]=(0.498965049079)*x[0]**o+(0.316489921186)*x[0]+(-0.0988355471817)*x[1]**o+(-0.0477508287681)*x[1]+(-0.778914523993)*x[2]**o+(0.189397812723)*x[2]
36488            arg[3,3,2,0]=(0.203823698152)*x[0]**o+(-0.340499414266)*x[0]+(0.353374693517)*x[1]**o+(-0.91035264494)*x[1]+(-0.779204084198)*x[2]**o+(-0.00276454165248)*x[2]
36489            arg[3,3,2,1]=(0.295232007123)*x[0]**o+(0.271766544502)*x[0]+(0.431956430336)*x[1]**o+(0.896481311536)*x[1]+(-0.325014902487)*x[2]**o+(0.70836170284)*x[2]
36490            arg[3,4,0,0]=(-0.407535202468)*x[0]**o+(-0.33055681091)*x[0]+(0.129762143151)*x[1]**o+(0.352087436228)*x[1]+(-0.538770401565)*x[2]**o+(-0.519071077045)*x[2]
36491            arg[3,4,0,1]=(0.846011435499)*x[0]**o+(0.172822133672)*x[0]+(-0.740732553847)*x[1]**o+(0.230062837231)*x[1]+(-0.231810007237)*x[2]**o+(-0.568366338923)*x[2]
36492            arg[3,4,1,0]=(-0.198091119057)*x[0]**o+(0.957989508794)*x[0]+(0.861739071175)*x[1]**o+(0.923450697883)*x[1]+(-0.755262504937)*x[2]**o+(0.102897579936)*x[2]
36493            arg[3,4,1,1]=(0.198829545353)*x[0]**o+(-0.757182006818)*x[0]+(0.254092337808)*x[1]**o+(-0.00815072620097)*x[1]+(0.347421988308)*x[2]**o+(-0.0215277616923)*x[2]
36494            arg[3,4,2,0]=(0.775062112529)*x[0]**o+(-0.77746792774)*x[0]+(-0.666490294869)*x[1]**o+(-0.679971069878)*x[1]+(-0.972450779894)*x[2]**o+(-0.705322282477)*x[2]
36495            arg[3,4,2,1]=(-0.0994927587382)*x[0]**o+(0.293071774786)*x[0]+(0.370784399397)*x[1]**o+(0.931411225946)*x[1]+(-0.55789163294)*x[2]**o+(0.0831890658592)*x[2]
36496            ref[0,0,0,0]=(-0.657703355307)*x_ref[0]**o+(0.397813831843)*x_ref[0]+(0.364460538717)*x_ref[1]**o+(-0.845626669617)*x_ref[1]+(-0.987144254126)*x_ref[2]**o+(-0.732384980726)*x_ref[2]
36497            ref[0,0,0,1]=(-0.13280304886)*x_ref[0]**o+(-0.953796807758)*x_ref[0]+(0.875723746654)*x_ref[1]**o+(0.0764745117242)*x_ref[1]+(-0.536085676221)*x_ref[2]**o+(-0.520611959678)*x_ref[2]
36498            ref[0,0,1,0]=(0.716429446578)*x_ref[0]**o+(-0.729164693441)*x_ref[0]+(-0.832505557428)*x_ref[1]**o+(-0.329200605611)*x_ref[1]+(0.0310162060964)*x_ref[2]**o+(-0.869978941999)*x_ref[2]
36499            ref[0,0,1,1]=(0.110253530584)*x_ref[0]**o+(0.995528486822)*x_ref[0]+(0.838577797395)*x_ref[1]**o+(0.443987752225)*x_ref[1]+(0.387337959057)*x_ref[2]**o+(0.548448752612)*x_ref[2]
36500            ref[0,0,2,0]=(-0.995737515431)*x_ref[0]**o+(-0.899807241717)*x_ref[0]+(-0.0803287764138)*x_ref[1]**o+(0.242680051556)*x_ref[1]+(0.58974836823)*x_ref[2]**o+(-0.498450188944)*x_ref[2]
36501            ref[0,0,2,1]=(0.341561541555)*x_ref[0]**o+(-0.00541988184597)*x_ref[0]+(-0.204832898701)*x_ref[1]**o+(-0.957247935865)*x_ref[1]+(-0.441002902064)*x_ref[2]**o+(0.756843480304)*x_ref[2]
36502            ref[0,1,0,0]=(0.136201526244)*x_ref[0]**o+(0.517677304193)*x_ref[0]+(0.523031610748)*x_ref[1]**o+(-0.908998053383)*x_ref[1]+(-0.629649678416)*x_ref[2]**o+(0.762977917512)*x_ref[2]
36503            ref[0,1,0,1]=(-0.103521080864)*x_ref[0]**o+(-0.434410222595)*x_ref[0]+(0.418239530241)*x_ref[1]**o+(0.65638475119)*x_ref[1]+(0.413036393129)*x_ref[2]**o+(-0.220365518353)*x_ref[2]
36504            ref[0,1,1,0]=(-0.415690201483)*x_ref[0]**o+(-0.969323394689)*x_ref[0]+(-0.295639420195)*x_ref[1]**o+(-0.24915002749)*x_ref[1]+(-0.00927627101467)*x_ref[2]**o+(0.520335261634)*x_ref[2]
36505            ref[0,1,1,1]=(-0.262653741797)*x_ref[0]**o+(-0.463590591666)*x_ref[0]+(0.568893042923)*x_ref[1]**o+(-0.869851332898)*x_ref[1]+(-0.463261399415)*x_ref[2]**o+(0.0281915686202)*x_ref[2]
36506            ref[0,1,2,0]=(0.377159503058)*x_ref[0]**o+(0.484512261943)*x_ref[0]+(0.0303594628925)*x_ref[1]**o+(0.482051243004)*x_ref[1]+(0.240643013949)*x_ref[2]**o+(-0.943908617705)*x_ref[2]
36507            ref[0,1,2,1]=(0.843854614097)*x_ref[0]**o+(0.018041534553)*x_ref[0]+(0.264198703361)*x_ref[1]**o+(0.732889517628)*x_ref[1]+(-0.154807384394)*x_ref[2]**o+(0.60513622187)*x_ref[2]
36508            ref[0,2,0,0]=(-0.234758118286)*x_ref[0]**o+(-0.77807396119)*x_ref[0]+(-0.97783091103)*x_ref[1]**o+(-0.716185223828)*x_ref[1]+(-0.573126474259)*x_ref[2]**o+(0.403110701555)*x_ref[2]
36509            ref[0,2,0,1]=(-0.853878344804)*x_ref[0]**o+(-0.482644826561)*x_ref[0]+(-0.826041149012)*x_ref[1]**o+(0.596376234798)*x_ref[1]+(-0.216400517274)*x_ref[2]**o+(-0.323127194259)*x_ref[2]
36510            ref[0,2,1,0]=(0.931551121492)*x_ref[0]**o+(-0.527132174379)*x_ref[0]+(0.373496704463)*x_ref[1]**o+(-0.375215826463)*x_ref[1]+(-0.639167297984)*x_ref[2]**o+(0.143608733189)*x_ref[2]
36511            ref[0,2,1,1]=(-0.982206000879)*x_ref[0]**o+(0.836589596534)*x_ref[0]+(0.606275000138)*x_ref[1]**o+(-0.821469453892)*x_ref[1]+(-0.633828380948)*x_ref[2]**o+(-0.637688777216)*x_ref[2]
36512            ref[0,2,2,0]=(0.441649557529)*x_ref[0]**o+(-0.34978365051)*x_ref[0]+(0.514175365405)*x_ref[1]**o+(-0.903212271234)*x_ref[1]+(0.70236887156)*x_ref[2]**o+(0.72953045189)*x_ref[2]
36513            ref[0,2,2,1]=(0.302787896978)*x_ref[0]**o+(0.157598071021)*x_ref[0]+(-0.357101947632)*x_ref[1]**o+(0.381098383156)*x_ref[1]+(-0.552546036689)*x_ref[2]**o+(0.448181721984)*x_ref[2]
36514            ref[0,3,0,0]=(0.662181077399)*x_ref[0]**o+(-0.283755239518)*x_ref[0]+(0.33694741278)*x_ref[1]**o+(0.275801685868)*x_ref[1]+(0.526155259101)*x_ref[2]**o+(-0.378241855559)*x_ref[2]
36515            ref[0,3,0,1]=(0.157822133581)*x_ref[0]**o+(0.25402072747)*x_ref[0]+(0.522842123099)*x_ref[1]**o+(0.510595773584)*x_ref[1]+(-0.829239126666)*x_ref[2]**o+(0.990879342044)*x_ref[2]
36516            ref[0,3,1,0]=(-0.775925280059)*x_ref[0]**o+(-0.726971388023)*x_ref[0]+(-0.630088730753)*x_ref[1]**o+(-0.731024178237)*x_ref[1]+(-0.288643541196)*x_ref[2]**o+(-0.283708428793)*x_ref[2]
36517            ref[0,3,1,1]=(-0.883176640445)*x_ref[0]**o+(-0.0810211976762)*x_ref[0]+(-0.102919217784)*x_ref[1]**o+(0.271384866385)*x_ref[1]+(0.980796900477)*x_ref[2]**o+(0.439294038672)*x_ref[2]
36518            ref[0,3,2,0]=(-0.826688221502)*x_ref[0]**o+(-0.909388347347)*x_ref[0]+(0.164406927722)*x_ref[1]**o+(0.60157189364)*x_ref[1]+(-0.885578176748)*x_ref[2]**o+(0.610008674247)*x_ref[2]
36519            ref[0,3,2,1]=(0.130154197193)*x_ref[0]**o+(-0.754703602975)*x_ref[0]+(0.00463710497017)*x_ref[1]**o+(0.502162916123)*x_ref[1]+(-0.749124548541)*x_ref[2]**o+(0.946592962092)*x_ref[2]
36520            ref[0,4,0,0]=(-0.0478347448906)*x_ref[0]**o+(-0.812937871882)*x_ref[0]+(-0.460982012551)*x_ref[1]**o+(0.317485998991)*x_ref[1]+(-0.593671683477)*x_ref[2]**o+(0.551385718668)*x_ref[2]
36521            ref[0,4,0,1]=(0.281998767502)*x_ref[0]**o+(-0.0613830311997)*x_ref[0]+(0.981429151019)*x_ref[1]**o+(-0.580567714008)*x_ref[1]+(0.0369483005331)*x_ref[2]**o+(-0.74132358588)*x_ref[2]
36522            ref[0,4,1,0]=(0.525845217483)*x_ref[0]**o+(0.907803915216)*x_ref[0]+(0.111429079263)*x_ref[1]**o+(-0.653030401377)*x_ref[1]+(0.0814793913696)*x_ref[2]**o+(-0.419201413875)*x_ref[2]
36523            ref[0,4,1,1]=(0.862892518463)*x_ref[0]**o+(0.34033875398)*x_ref[0]+(0.0371376953103)*x_ref[1]**o+(0.568160310726)*x_ref[1]+(-0.237231036717)*x_ref[2]**o+(-0.130046899302)*x_ref[2]
36524            ref[0,4,2,0]=(0.223651181698)*x_ref[0]**o+(0.730991398203)*x_ref[0]+(0.133551525027)*x_ref[1]**o+(0.685783540126)*x_ref[1]+(0.339586395814)*x_ref[2]**o+(-0.524371194863)*x_ref[2]
36525            ref[0,4,2,1]=(0.220110871383)*x_ref[0]**o+(-0.37385773877)*x_ref[0]+(0.773372000545)*x_ref[1]**o+(-0.4261356565)*x_ref[1]+(-0.619438438945)*x_ref[2]**o+(0.126288949127)*x_ref[2]
36526            ref[1,0,0,0]=(0.727680196631)*x_ref[0]**o+(-0.876280912599)*x_ref[0]+(0.576553782915)*x_ref[1]**o+(-0.0497780322367)*x_ref[1]+(-0.690257457282)*x_ref[2]**o+(-0.11130953054)*x_ref[2]
36527            ref[1,0,0,1]=(0.331863815938)*x_ref[0]**o+(0.169379824389)*x_ref[0]+(0.665507756012)*x_ref[1]**o+(0.94933357273)*x_ref[1]+(-0.610506070093)*x_ref[2]**o+(0.752476708027)*x_ref[2]
36528            ref[1,0,1,0]=(0.851320583415)*x_ref[0]**o+(-0.697235996161)*x_ref[0]+(0.235192165807)*x_ref[1]**o+(0.325473517022)*x_ref[1]+(-0.424683549673)*x_ref[2]**o+(0.228953796486)*x_ref[2]
36529            ref[1,0,1,1]=(0.804192098517)*x_ref[0]**o+(-0.684337197059)*x_ref[0]+(-0.349251615715)*x_ref[1]**o+(0.596165705743)*x_ref[1]+(-0.636033221182)*x_ref[2]**o+(-0.304367076307)*x_ref[2]
36530            ref[1,0,2,0]=(-0.237305477187)*x_ref[0]**o+(-0.997679652719)*x_ref[0]+(0.485994068389)*x_ref[1]**o+(0.44508530534)*x_ref[1]+(0.940139935628)*x_ref[2]**o+(0.0789221540062)*x_ref[2]
36531            ref[1,0,2,1]=(0.814928463364)*x_ref[0]**o+(-0.257693939789)*x_ref[0]+(0.179643785703)*x_ref[1]**o+(-0.696436530567)*x_ref[1]+(-0.592226945554)*x_ref[2]**o+(-0.454620411499)*x_ref[2]
36532            ref[1,1,0,0]=(-0.933925672439)*x_ref[0]**o+(0.212298180817)*x_ref[0]+(-0.447836316801)*x_ref[1]**o+(0.180796376138)*x_ref[1]+(-0.749910125701)*x_ref[2]**o+(0.134540433851)*x_ref[2]
36533            ref[1,1,0,1]=(-0.649009346978)*x_ref[0]**o+(0.0316819485953)*x_ref[0]+(-0.718001767835)*x_ref[1]**o+(0.289608435124)*x_ref[1]+(-0.906045493384)*x_ref[2]**o+(0.851021484125)*x_ref[2]
36534            ref[1,1,1,0]=(-0.216265404566)*x_ref[0]**o+(0.657073282172)*x_ref[0]+(-0.796155541438)*x_ref[1]**o+(0.338980498824)*x_ref[1]+(0.477444448193)*x_ref[2]**o+(0.674278909522)*x_ref[2]
36535            ref[1,1,1,1]=(-0.67605942954)*x_ref[0]**o+(0.457997253216)*x_ref[0]+(-0.973576381948)*x_ref[1]**o+(0.430432753773)*x_ref[1]+(0.0329169564451)*x_ref[2]**o+(-0.422512702485)*x_ref[2]
36536            ref[1,1,2,0]=(-0.32458256139)*x_ref[0]**o+(0.289568625922)*x_ref[0]+(-0.529564027476)*x_ref[1]**o+(0.596449833118)*x_ref[1]+(0.960461031989)*x_ref[2]**o+(0.00801425321069)*x_ref[2]
36537            ref[1,1,2,1]=(-0.0425883615923)*x_ref[0]**o+(-0.313926807333)*x_ref[0]+(0.766062773671)*x_ref[1]**o+(-0.857784560309)*x_ref[1]+(0.914867381682)*x_ref[2]**o+(-0.312493334639)*x_ref[2]
36538            ref[1,2,0,0]=(-0.637151767355)*x_ref[0]**o+(-0.679947136952)*x_ref[0]+(-0.0838349105494)*x_ref[1]**o+(0.00800835879666)*x_ref[1]+(0.385024194519)*x_ref[2]**o+(-0.627828236571)*x_ref[2]
36539            ref[1,2,0,1]=(-0.62580153007)*x_ref[0]**o+(-0.183834415542)*x_ref[0]+(0.322406823575)*x_ref[1]**o+(0.302908755868)*x_ref[1]+(0.727234001542)*x_ref[2]**o+(-0.933944878425)*x_ref[2]
36540            ref[1,2,1,0]=(-0.897198312615)*x_ref[0]**o+(0.825086526945)*x_ref[0]+(-0.031001758991)*x_ref[1]**o+(0.987845551304)*x_ref[1]+(-0.551212418179)*x_ref[2]**o+(0.657813241764)*x_ref[2]
36541            ref[1,2,1,1]=(-0.544595822278)*x_ref[0]**o+(0.595858429591)*x_ref[0]+(-0.557503238514)*x_ref[1]**o+(0.507560179011)*x_ref[1]+(-0.519438270771)*x_ref[2]**o+(-0.471678264995)*x_ref[2]
36542            ref[1,2,2,0]=(0.135616278099)*x_ref[0]**o+(0.40676743342)*x_ref[0]+(0.458810719213)*x_ref[1]**o+(-0.881620410228)*x_ref[1]+(-0.897267732846)*x_ref[2]**o+(0.665458992487)*x_ref[2]
36543            ref[1,2,2,1]=(0.83854610457)*x_ref[0]**o+(0.670263196782)*x_ref[0]+(0.551767734306)*x_ref[1]**o+(0.883934821215)*x_ref[1]+(0.455375261768)*x_ref[2]**o+(0.95604480045)*x_ref[2]
36544            ref[1,3,0,0]=(0.705853698882)*x_ref[0]**o+(0.84681314245)*x_ref[0]+(-0.0984020252408)*x_ref[1]**o+(0.943165990555)*x_ref[1]+(-0.428955841327)*x_ref[2]**o+(0.0961618993003)*x_ref[2]
36545            ref[1,3,0,1]=(0.583731800337)*x_ref[0]**o+(-0.738079255003)*x_ref[0]+(0.315556768944)*x_ref[1]**o+(-0.489631118687)*x_ref[1]+(0.371775779104)*x_ref[2]**o+(0.82029490872)*x_ref[2]
36546            ref[1,3,1,0]=(-0.885657545142)*x_ref[0]**o+(0.542706113286)*x_ref[0]+(0.800319452136)*x_ref[1]**o+(0.314194184897)*x_ref[1]+(-0.320905532427)*x_ref[2]**o+(-0.314307365683)*x_ref[2]
36547            ref[1,3,1,1]=(-0.217030771566)*x_ref[0]**o+(0.260108519031)*x_ref[0]+(-0.686624725975)*x_ref[1]**o+(-0.869322439609)*x_ref[1]+(0.558806239315)*x_ref[2]**o+(-0.440661121246)*x_ref[2]
36548            ref[1,3,2,0]=(-0.839335541382)*x_ref[0]**o+(0.228726621639)*x_ref[0]+(0.354403444002)*x_ref[1]**o+(0.215616048959)*x_ref[1]+(0.49622647562)*x_ref[2]**o+(-0.725639112729)*x_ref[2]
36549            ref[1,3,2,1]=(-0.439687404632)*x_ref[0]**o+(-0.820583921269)*x_ref[0]+(-0.863730409631)*x_ref[1]**o+(0.119773401911)*x_ref[1]+(0.460158483187)*x_ref[2]**o+(0.757153436592)*x_ref[2]
36550            ref[1,4,0,0]=(-0.77288839701)*x_ref[0]**o+(-0.570203714622)*x_ref[0]+(0.93832772305)*x_ref[1]**o+(-0.759089944596)*x_ref[1]+(0.000174937961704)*x_ref[2]**o+(0.812917484286)*x_ref[2]
36551            ref[1,4,0,1]=(-0.25535378432)*x_ref[0]**o+(-0.0938207170929)*x_ref[0]+(0.0545321717685)*x_ref[1]**o+(-0.414414792674)*x_ref[1]+(-0.297698896712)*x_ref[2]**o+(-0.367166660571)*x_ref[2]
36552            ref[1,4,1,0]=(0.743408112248)*x_ref[0]**o+(0.852863814785)*x_ref[0]+(0.259483951249)*x_ref[1]**o+(-0.519288864163)*x_ref[1]+(-0.305772267727)*x_ref[2]**o+(-0.401384318883)*x_ref[2]
36553            ref[1,4,1,1]=(0.194889815352)*x_ref[0]**o+(0.522093986804)*x_ref[0]+(-0.343320977396)*x_ref[1]**o+(0.21840236597)*x_ref[1]+(-0.672107409136)*x_ref[2]**o+(-0.600203805002)*x_ref[2]
36554            ref[1,4,2,0]=(0.420860556361)*x_ref[0]**o+(0.789879869049)*x_ref[0]+(0.100987805744)*x_ref[1]**o+(0.802794815123)*x_ref[1]+(-0.69466030201)*x_ref[2]**o+(-0.746043845966)*x_ref[2]
36555            ref[1,4,2,1]=(-0.306621579211)*x_ref[0]**o+(-0.0676982346933)*x_ref[0]+(0.568861573715)*x_ref[1]**o+(0.0823366334578)*x_ref[1]+(0.501187255641)*x_ref[2]**o+(-0.538615164478)*x_ref[2]
36556            ref[2,0,0,0]=(-0.231052916706)*x_ref[0]**o+(0.127790831537)*x_ref[0]+(-0.475600435038)*x_ref[1]**o+(0.431586151473)*x_ref[1]+(-0.882365547235)*x_ref[2]**o+(0.778027701879)*x_ref[2]
36557            ref[2,0,0,1]=(0.0709490835498)*x_ref[0]**o+(0.442614693755)*x_ref[0]+(0.870405247692)*x_ref[1]**o+(-0.648538779515)*x_ref[1]+(0.751107652054)*x_ref[2]**o+(0.0122956931127)*x_ref[2]
36558            ref[2,0,1,0]=(0.703128329145)*x_ref[0]**o+(0.259775843631)*x_ref[0]+(0.311958888594)*x_ref[1]**o+(-0.0445092402277)*x_ref[1]+(0.338222457799)*x_ref[2]**o+(0.845995300456)*x_ref[2]
36559            ref[2,0,1,1]=(-0.653977898919)*x_ref[0]**o+(0.0495539350857)*x_ref[0]+(0.4013623408)*x_ref[1]**o+(0.490747039887)*x_ref[1]+(-0.480487636729)*x_ref[2]**o+(0.361660115775)*x_ref[2]
36560            ref[2,0,2,0]=(0.215778506945)*x_ref[0]**o+(0.316853875053)*x_ref[0]+(0.556770639829)*x_ref[1]**o+(-0.499729882355)*x_ref[1]+(0.692012327582)*x_ref[2]**o+(0.00681314946195)*x_ref[2]
36561            ref[2,0,2,1]=(0.432077857223)*x_ref[0]**o+(-0.0497579036988)*x_ref[0]+(-0.465403408565)*x_ref[1]**o+(0.125421502956)*x_ref[1]+(-0.313541879877)*x_ref[2]**o+(0.113957941731)*x_ref[2]
36562            ref[2,1,0,0]=(-0.528126103192)*x_ref[0]**o+(-0.141306512096)*x_ref[0]+(-0.505835313198)*x_ref[1]**o+(-0.0433171534408)*x_ref[1]+(-0.522465687628)*x_ref[2]**o+(-0.16728285732)*x_ref[2]
36563            ref[2,1,0,1]=(0.892019660948)*x_ref[0]**o+(0.646944130193)*x_ref[0]+(0.865495756748)*x_ref[1]**o+(0.949095276008)*x_ref[1]+(0.786394755068)*x_ref[2]**o+(0.482441081687)*x_ref[2]
36564            ref[2,1,1,0]=(-0.0485295711204)*x_ref[0]**o+(0.250163927911)*x_ref[0]+(0.0387861125998)*x_ref[1]**o+(-0.0789121929817)*x_ref[1]+(-0.982330126583)*x_ref[2]**o+(0.66328870814)*x_ref[2]
36565            ref[2,1,1,1]=(-0.494726556678)*x_ref[0]**o+(-0.961342091528)*x_ref[0]+(0.211410563083)*x_ref[1]**o+(-0.884287887286)*x_ref[1]+(-0.583401908135)*x_ref[2]**o+(-0.361423905219)*x_ref[2]
36566            ref[2,1,2,0]=(-0.326785246692)*x_ref[0]**o+(0.596272945325)*x_ref[0]+(0.625039539234)*x_ref[1]**o+(0.88699688986)*x_ref[1]+(-0.649803810419)*x_ref[2]**o+(0.890718271469)*x_ref[2]
36567            ref[2,1,2,1]=(0.702110072391)*x_ref[0]**o+(0.72009439563)*x_ref[0]+(-0.930941572511)*x_ref[1]**o+(0.955877158334)*x_ref[1]+(0.1211281332)*x_ref[2]**o+(0.658738626852)*x_ref[2]
36568            ref[2,2,0,0]=(-0.177402589697)*x_ref[0]**o+(0.701090894256)*x_ref[0]+(-0.00205333079339)*x_ref[1]**o+(-0.427862310859)*x_ref[1]+(0.529186374803)*x_ref[2]**o+(-0.110462035551)*x_ref[2]
36569            ref[2,2,0,1]=(-0.104112165367)*x_ref[0]**o+(0.043539351452)*x_ref[0]+(0.757384935306)*x_ref[1]**o+(-0.451086492844)*x_ref[1]+(0.0549627297033)*x_ref[2]**o+(-0.311718955315)*x_ref[2]
36570            ref[2,2,1,0]=(-0.579986090808)*x_ref[0]**o+(-0.922872917924)*x_ref[0]+(0.66422700207)*x_ref[1]**o+(0.947304780214)*x_ref[1]+(-0.0492553517704)*x_ref[2]**o+(0.817225619153)*x_ref[2]
36571            ref[2,2,1,1]=(0.306298476233)*x_ref[0]**o+(-0.620190960783)*x_ref[0]+(-0.684876074013)*x_ref[1]**o+(-0.371829616982)*x_ref[1]+(0.904709743321)*x_ref[2]**o+(0.170802273852)*x_ref[2]
36572            ref[2,2,2,0]=(0.317943399758)*x_ref[0]**o+(0.518026054212)*x_ref[0]+(-0.801462311167)*x_ref[1]**o+(0.767424157898)*x_ref[1]+(-0.547271995492)*x_ref[2]**o+(-0.912619177188)*x_ref[2]
36573            ref[2,2,2,1]=(-0.848711258358)*x_ref[0]**o+(0.456489097468)*x_ref[0]+(-0.310979078367)*x_ref[1]**o+(-0.946717007726)*x_ref[1]+(0.454363833646)*x_ref[2]**o+(-0.715701991077)*x_ref[2]
36574            ref[2,3,0,0]=(0.605493533014)*x_ref[0]**o+(0.478437880368)*x_ref[0]+(-0.672727491605)*x_ref[1]**o+(0.831259256009)*x_ref[1]+(-0.434153354239)*x_ref[2]**o+(-0.505363218578)*x_ref[2]
36575            ref[2,3,0,1]=(-0.0703539676643)*x_ref[0]**o+(-0.452352344215)*x_ref[0]+(0.0403568720903)*x_ref[1]**o+(0.959415939826)*x_ref[1]+(-0.784519698477)*x_ref[2]**o+(-0.691664442958)*x_ref[2]
36576            ref[2,3,1,0]=(0.696353768719)*x_ref[0]**o+(0.295477297618)*x_ref[0]+(0.580540484825)*x_ref[1]**o+(0.098954967023)*x_ref[1]+(-0.547594444517)*x_ref[2]**o+(-0.574783665389)*x_ref[2]
36577            ref[2,3,1,1]=(0.997841887408)*x_ref[0]**o+(0.857864040549)*x_ref[0]+(-0.413188343971)*x_ref[1]**o+(0.344770631687)*x_ref[1]+(-0.127257058552)*x_ref[2]**o+(0.132618819456)*x_ref[2]
36578            ref[2,3,2,0]=(0.174045751083)*x_ref[0]**o+(0.866724759298)*x_ref[0]+(0.0818516103455)*x_ref[1]**o+(-0.891670609599)*x_ref[1]+(0.982721717044)*x_ref[2]**o+(0.378710155856)*x_ref[2]
36579            ref[2,3,2,1]=(0.7760778906)*x_ref[0]**o+(-0.710104290654)*x_ref[0]+(-0.471259845977)*x_ref[1]**o+(-0.791979211724)*x_ref[1]+(-0.845652753706)*x_ref[2]**o+(-0.301795837852)*x_ref[2]
36580            ref[2,4,0,0]=(-0.698193658421)*x_ref[0]**o+(-0.831956135385)*x_ref[0]+(-0.442637915133)*x_ref[1]**o+(0.108715813637)*x_ref[1]+(-0.888348149694)*x_ref[2]**o+(-0.90115888496)*x_ref[2]
36581            ref[2,4,0,1]=(0.770237705577)*x_ref[0]**o+(0.889304763618)*x_ref[0]+(-0.139196183564)*x_ref[1]**o+(0.332516232239)*x_ref[1]+(-0.0218103253052)*x_ref[2]**o+(-0.368033928854)*x_ref[2]
36582            ref[2,4,1,0]=(0.675479351844)*x_ref[0]**o+(0.880998418303)*x_ref[0]+(0.408381837105)*x_ref[1]**o+(0.717402364084)*x_ref[1]+(-0.303902947422)*x_ref[2]**o+(-0.322350049962)*x_ref[2]
36583            ref[2,4,1,1]=(-0.480881673289)*x_ref[0]**o+(0.30290141529)*x_ref[0]+(-0.538411390886)*x_ref[1]**o+(0.260090848702)*x_ref[1]+(0.638130764808)*x_ref[2]**o+(0.756338975575)*x_ref[2]
36584            ref[2,4,2,0]=(-0.299233221889)*x_ref[0]**o+(-0.26471083761)*x_ref[0]+(0.717191172884)*x_ref[1]**o+(0.488553216118)*x_ref[1]+(0.718956726644)*x_ref[2]**o+(0.370889025703)*x_ref[2]
36585            ref[2,4,2,1]=(-0.989020272269)*x_ref[0]**o+(-0.891423884362)*x_ref[0]+(0.486153100693)*x_ref[1]**o+(-0.971171395246)*x_ref[1]+(-0.766942968184)*x_ref[2]**o+(0.728728968862)*x_ref[2]
36586            ref[3,0,0,0]=(0.756186246227)*x_ref[0]**o+(0.76507856268)*x_ref[0]+(0.771165000414)*x_ref[1]**o+(0.673968873856)*x_ref[1]+(0.827045846253)*x_ref[2]**o+(-0.788265752412)*x_ref[2]
36587            ref[3,0,0,1]=(-0.66925731439)*x_ref[0]**o+(-0.0110127596435)*x_ref[0]+(0.944388255414)*x_ref[1]**o+(-0.613832072486)*x_ref[1]+(0.0977542120724)*x_ref[2]**o+(0.100776856689)*x_ref[2]
36588            ref[3,0,1,0]=(0.905138713064)*x_ref[0]**o+(0.673051338153)*x_ref[0]+(0.240614253653)*x_ref[1]**o+(-0.964132330033)*x_ref[1]+(-0.114961018838)*x_ref[2]**o+(-0.438756962988)*x_ref[2]
36589            ref[3,0,1,1]=(-0.192259182094)*x_ref[0]**o+(0.12315590119)*x_ref[0]+(-0.907744420226)*x_ref[1]**o+(-0.483981269809)*x_ref[1]+(-0.169699431472)*x_ref[2]**o+(-0.45231635406)*x_ref[2]
36590            ref[3,0,2,0]=(0.895387255885)*x_ref[0]**o+(0.23892997411)*x_ref[0]+(-0.396010446618)*x_ref[1]**o+(0.94853984413)*x_ref[1]+(-0.0165259637241)*x_ref[2]**o+(-0.312558539149)*x_ref[2]
36591            ref[3,0,2,1]=(0.710478713361)*x_ref[0]**o+(-0.109316102216)*x_ref[0]+(-0.042711568986)*x_ref[1]**o+(-0.448508085742)*x_ref[1]+(-0.0979193346011)*x_ref[2]**o+(0.93156672211)*x_ref[2]
36592            ref[3,1,0,0]=(-0.21605108221)*x_ref[0]**o+(0.410466481712)*x_ref[0]+(0.799288386783)*x_ref[1]**o+(0.622866017113)*x_ref[1]+(-0.236698938159)*x_ref[2]**o+(0.246625241928)*x_ref[2]
36593            ref[3,1,0,1]=(0.989568527762)*x_ref[0]**o+(0.0212906378151)*x_ref[0]+(0.311279947324)*x_ref[1]**o+(-0.231412902902)*x_ref[1]+(-0.444760786142)*x_ref[2]**o+(0.908171985421)*x_ref[2]
36594            ref[3,1,1,0]=(0.42605234231)*x_ref[0]**o+(-0.58629332944)*x_ref[0]+(0.322063640761)*x_ref[1]**o+(0.837771339825)*x_ref[1]+(-0.911083211394)*x_ref[2]**o+(-0.0699607581992)*x_ref[2]
36595            ref[3,1,1,1]=(0.75449445591)*x_ref[0]**o+(0.722970800307)*x_ref[0]+(-0.582970919465)*x_ref[1]**o+(-0.868818538212)*x_ref[1]+(0.940067636181)*x_ref[2]**o+(-0.659469743617)*x_ref[2]
36596            ref[3,1,2,0]=(-0.391224924663)*x_ref[0]**o+(-0.768173177737)*x_ref[0]+(-0.856876347997)*x_ref[1]**o+(-0.0451180499647)*x_ref[1]+(0.198590679246)*x_ref[2]**o+(0.187329095476)*x_ref[2]
36597            ref[3,1,2,1]=(0.483309063092)*x_ref[0]**o+(-0.0777241026893)*x_ref[0]+(0.0438427457286)*x_ref[1]**o+(-0.73195704867)*x_ref[1]+(-0.439660745725)*x_ref[2]**o+(0.279501672861)*x_ref[2]
36598            ref[3,2,0,0]=(0.799935089139)*x_ref[0]**o+(-0.306860809857)*x_ref[0]+(0.169104975039)*x_ref[1]**o+(-0.3480717525)*x_ref[1]+(0.215231688)*x_ref[2]**o+(-0.528775376945)*x_ref[2]
36599            ref[3,2,0,1]=(0.917815789587)*x_ref[0]**o+(0.0672910338102)*x_ref[0]+(-0.186550440011)*x_ref[1]**o+(0.922579714252)*x_ref[1]+(0.924162379857)*x_ref[2]**o+(-0.769320483618)*x_ref[2]
36600            ref[3,2,1,0]=(0.604324468058)*x_ref[0]**o+(-0.0109731419053)*x_ref[0]+(0.229447318325)*x_ref[1]**o+(-0.480693435232)*x_ref[1]+(-0.881779256999)*x_ref[2]**o+(0.288656394771)*x_ref[2]
36601            ref[3,2,1,1]=(0.934680723352)*x_ref[0]**o+(0.993838528376)*x_ref[0]+(0.957781588502)*x_ref[1]**o+(-0.859837057866)*x_ref[1]+(-0.702139964493)*x_ref[2]**o+(0.0538177124609)*x_ref[2]
36602            ref[3,2,2,0]=(-0.142809047814)*x_ref[0]**o+(-0.472594415134)*x_ref[0]+(0.0381782768377)*x_ref[1]**o+(0.727331491769)*x_ref[1]+(0.0910992897581)*x_ref[2]**o+(-0.845316063851)*x_ref[2]
36603            ref[3,2,2,1]=(-0.217483358272)*x_ref[0]**o+(0.991535092285)*x_ref[0]+(-0.399175896468)*x_ref[1]**o+(-0.665836512895)*x_ref[1]+(0.0983700911493)*x_ref[2]**o+(0.321811300155)*x_ref[2]
36604            ref[3,3,0,0]=(0.797049585464)*x_ref[0]**o+(-0.724467959299)*x_ref[0]+(0.19971589973)*x_ref[1]**o+(0.845928461864)*x_ref[1]+(-0.365158866359)*x_ref[2]**o+(-0.698274270132)*x_ref[2]
36605            ref[3,3,0,1]=(-0.638474704878)*x_ref[0]**o+(0.551866433352)*x_ref[0]+(0.192309452979)*x_ref[1]**o+(-0.703649325501)*x_ref[1]+(0.823910578138)*x_ref[2]**o+(-0.917446989634)*x_ref[2]
36606            ref[3,3,1,0]=(0.217577282169)*x_ref[0]**o+(0.521716803668)*x_ref[0]+(-0.116587783856)*x_ref[1]**o+(0.529672391417)*x_ref[1]+(-0.798918158284)*x_ref[2]**o+(-0.0996139511955)*x_ref[2]
36607            ref[3,3,1,1]=(0.498965049079)*x_ref[0]**o+(0.316489921186)*x_ref[0]+(-0.0988355471817)*x_ref[1]**o+(-0.0477508287681)*x_ref[1]+(-0.778914523993)*x_ref[2]**o+(0.189397812723)*x_ref[2]
36608            ref[3,3,2,0]=(0.203823698152)*x_ref[0]**o+(-0.340499414266)*x_ref[0]+(0.353374693517)*x_ref[1]**o+(-0.91035264494)*x_ref[1]+(-0.779204084198)*x_ref[2]**o+(-0.00276454165248)*x_ref[2]
36609            ref[3,3,2,1]=(0.295232007123)*x_ref[0]**o+(0.271766544502)*x_ref[0]+(0.431956430336)*x_ref[1]**o+(0.896481311536)*x_ref[1]+(-0.325014902487)*x_ref[2]**o+(0.70836170284)*x_ref[2]
36610            ref[3,4,0,0]=(-0.407535202468)*x_ref[0]**o+(-0.33055681091)*x_ref[0]+(0.129762143151)*x_ref[1]**o+(0.352087436228)*x_ref[1]+(-0.538770401565)*x_ref[2]**o+(-0.519071077045)*x_ref[2]
36611            ref[3,4,0,1]=(0.846011435499)*x_ref[0]**o+(0.172822133672)*x_ref[0]+(-0.740732553847)*x_ref[1]**o+(0.230062837231)*x_ref[1]+(-0.231810007237)*x_ref[2]**o+(-0.568366338923)*x_ref[2]
36612            ref[3,4,1,0]=(-0.198091119057)*x_ref[0]**o+(0.957989508794)*x_ref[0]+(0.861739071175)*x_ref[1]**o+(0.923450697883)*x_ref[1]+(-0.755262504937)*x_ref[2]**o+(0.102897579936)*x_ref[2]
36613            ref[3,4,1,1]=(0.198829545353)*x_ref[0]**o+(-0.757182006818)*x_ref[0]+(0.254092337808)*x_ref[1]**o+(-0.00815072620097)*x_ref[1]+(0.347421988308)*x_ref[2]**o+(-0.0215277616923)*x_ref[2]
36614            ref[3,4,2,0]=(0.775062112529)*x_ref[0]**o+(-0.77746792774)*x_ref[0]+(-0.666490294869)*x_ref[1]**o+(-0.679971069878)*x_ref[1]+(-0.972450779894)*x_ref[2]**o+(-0.705322282477)*x_ref[2]
36615            ref[3,4,2,1]=(-0.0994927587382)*x_ref[0]**o+(0.293071774786)*x_ref[0]+(0.370784399397)*x_ref[1]**o+(0.931411225946)*x_ref[1]+(-0.55789163294)*x_ref[2]**o+(0.0831890658592)*x_ref[2]
36616          res=interpolate(arg,where=w_ref)
36617          self.failUnless(isinstance(res,Data),"wrong type of result.")
36618          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36619          self.failUnlessEqual(res.getShape(),(4, 5, 3, 2),"wrong shape of result.")
36620          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36621       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36622       def test_interpolate_onFunction_fromData_ReducedSolution_rank0(self):
36623          """
36624          tests interpolate for rank 0 Data onto the Function
36625    
36626          assumptions: self.domain supports inpterpolation from ReducedSolution onto Function
36627          """
36628          o=1
36629          dim=self.domain.getDim()
36630          w_ref=Function(self.domain)
36631          x_ref=w_ref.getX()
36632          w=ReducedSolution(self.domain)
36633          x=w.getX()
36634          arg=Data(0,(),w)
36635          ref=Data(0,(),w_ref)
36636          if dim==2:
36637            arg=(1.66854814732)*x[0]+(1.38199165128)*x[1]
36638            ref=(1.66854814732)*x_ref[0]+(1.38199165128)*x_ref[1]
36639          else:
36640            arg=(-0.426142624852)*x[0]+(0.0492229050252)*x[1]+(-0.821661899519)*x[2]
36641            ref=(-0.426142624852)*x_ref[0]+(0.0492229050252)*x_ref[1]+(-0.821661899519)*x_ref[2]
36642          res=interpolate(arg,where=w_ref)
36643          self.failUnless(isinstance(res,Data),"wrong type of result.")
36644          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36645          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
36646          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36647       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36648       def test_interpolate_onFunction_fromData_ReducedSolution_rank1(self):
36649          """
36650          tests interpolate for rank 1 Data onto the Function
36651    
36652          assumptions: self.domain supports inpterpolation from ReducedSolution onto Function
36653          """
36654          o=1
36655          dim=self.domain.getDim()
36656          w_ref=Function(self.domain)
36657          x_ref=w_ref.getX()
36658          w=ReducedSolution(self.domain)
36659          x=w.getX()
36660          arg=Data(0,(2,),w)
36661          ref=Data(0,(2,),w_ref)
36662          if dim==2:
36663            arg[0]=(0.287050581427)*x[0]+(0.0745644988438)*x[1]
36664            arg[1]=(-0.279090829341)*x[0]+(-0.100758565381)*x[1]
36665            ref[0]=(0.287050581427)*x[0]+(0.0745644988438)*x[1]
36666            ref[1]=(-0.279090829341)*x[0]+(-0.100758565381)*x[1]
36667          else:
36668            arg[0]=(-0.367806366245)*x[0]+(0.0185557433717)*x[1]+(1.14806419827)*x[2]
36669            arg[1]=(-0.588016618937)*x[0]+(-1.03057423712)*x[1]+(-0.0359765566708)*x[2]
36670            ref[0]=(-0.367806366245)*x[0]+(0.0185557433717)*x[1]+(1.14806419827)*x[2]
36671            ref[1]=(-0.588016618937)*x[0]+(-1.03057423712)*x[1]+(-0.0359765566708)*x[2]
36672          res=interpolate(arg,where=w_ref)
36673          self.failUnless(isinstance(res,Data),"wrong type of result.")
36674          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36675          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
36676          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36677       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36678       def test_interpolate_onFunction_fromData_ReducedSolution_rank2(self):
36679          """
36680          tests interpolate for rank 2 Data onto the Function
36681    
36682          assumptions: self.domain supports inpterpolation from ReducedSolution onto Function
36683          """
36684          o=1
36685          dim=self.domain.getDim()
36686          w_ref=Function(self.domain)
36687          x_ref=w_ref.getX()
36688          w=ReducedSolution(self.domain)
36689          x=w.getX()
36690          arg=Data(0,(4, 5),w)
36691          ref=Data(0,(4, 5),w_ref)
36692          if dim==2:
36693            arg[0,0]=(-0.178459116054)*x[0]+(-0.908190366917)*x[1]
36694            arg[0,1]=(-0.365861276878)*x[0]+(-1.57557211363)*x[1]
36695            arg[0,2]=(-1.22266296874)*x[0]+(0.476090041507)*x[1]
36696            arg[0,3]=(0.0677955238995)*x[0]+(-0.899620825938)*x[1]
36697            arg[0,4]=(-0.29315929952)*x[0]+(-0.0589414650397)*x[1]
36698            arg[1,0]=(-0.510486453858)*x[0]+(0.960724573137)*x[1]
36699            arg[1,1]=(-0.316955543)*x[0]+(-0.160275601404)*x[1]
36700            arg[1,2]=(-0.960162300557)*x[0]+(0.426685726779)*x[1]
36701            arg[1,3]=(-0.458645373633)*x[0]+(0.623646469232)*x[1]
36702            arg[1,4]=(-0.831993675808)*x[0]+(-0.380162434858)*x[1]
36703            arg[2,0]=(-0.0614446129662)*x[0]+(0.442134320884)*x[1]
36704            arg[2,1]=(-0.0466135888936)*x[0]+(0.465021672347)*x[1]
36705            arg[2,2]=(-1.69520946599)*x[0]+(-1.69200166455)*x[1]
36706            arg[2,3]=(0.928809309584)*x[0]+(-0.344012063367)*x[1]
36707            arg[2,4]=(0.557754072268)*x[0]+(-0.0104949991147)*x[1]
36708            arg[3,0]=(0.0683969753885)*x[0]+(1.59892831147)*x[1]
36709            arg[3,1]=(0.90059768275)*x[0]+(1.4136644906)*x[1]
36710            arg[3,2]=(-0.397873855228)*x[0]+(-0.876192378488)*x[1]
36711            arg[3,3]=(-1.71837532502)*x[0]+(-0.911585940448)*x[1]
36712            arg[3,4]=(-1.619565287)*x[0]+(-0.911830282675)*x[1]
36713            ref[0,0]=(-0.178459116054)*x_ref[0]+(-0.908190366917)*x_ref[1]
36714            ref[0,1]=(-0.365861276878)*x_ref[0]+(-1.57557211363)*x_ref[1]
36715            ref[0,2]=(-1.22266296874)*x_ref[0]+(0.476090041507)*x_ref[1]
36716            ref[0,3]=(0.0677955238995)*x_ref[0]+(-0.899620825938)*x_ref[1]
36717            ref[0,4]=(-0.29315929952)*x_ref[0]+(-0.0589414650397)*x_ref[1]
36718            ref[1,0]=(-0.510486453858)*x_ref[0]+(0.960724573137)*x_ref[1]
36719            ref[1,1]=(-0.316955543)*x_ref[0]+(-0.160275601404)*x_ref[1]
36720            ref[1,2]=(-0.960162300557)*x_ref[0]+(0.426685726779)*x_ref[1]
36721            ref[1,3]=(-0.458645373633)*x_ref[0]+(0.623646469232)*x_ref[1]
36722            ref[1,4]=(-0.831993675808)*x_ref[0]+(-0.380162434858)*x_ref[1]
36723            ref[2,0]=(-0.0614446129662)*x_ref[0]+(0.442134320884)*x_ref[1]
36724            ref[2,1]=(-0.0466135888936)*x_ref[0]+(0.465021672347)*x_ref[1]
36725            ref[2,2]=(-1.69520946599)*x_ref[0]+(-1.69200166455)*x_ref[1]
36726            ref[2,3]=(0.928809309584)*x_ref[0]+(-0.344012063367)*x_ref[1]
36727            ref[2,4]=(0.557754072268)*x_ref[0]+(-0.0104949991147)*x_ref[1]
36728            ref[3,0]=(0.0683969753885)*x_ref[0]+(1.59892831147)*x_ref[1]
36729            ref[3,1]=(0.90059768275)*x_ref[0]+(1.4136644906)*x_ref[1]
36730            ref[3,2]=(-0.397873855228)*x_ref[0]+(-0.876192378488)*x_ref[1]
36731            ref[3,3]=(-1.71837532502)*x_ref[0]+(-0.911585940448)*x_ref[1]
36732            ref[3,4]=(-1.619565287)*x_ref[0]+(-0.911830282675)*x_ref[1]
36733          else:
36734            arg[0,0]=(-0.822599790066)*x[0]+(-1.22492139307)*x[1]+(-0.696878025616)*x[2]
36735            arg[0,1]=(0.600762284033)*x[0]+(-0.157734608915)*x[1]+(-0.729304703393)*x[2]
36736            arg[0,2]=(-1.42910707426)*x[0]+(1.46395956796)*x[1]+(1.38800770798)*x[2]
36737            arg[0,3]=(1.2198448221)*x[0]+(0.0898753488356)*x[1]+(0.976038279019)*x[2]
36738            arg[0,4]=(-0.616927403743)*x[0]+(1.41159934363)*x[1]+(-1.74783039584)*x[2]
36739            arg[1,0]=(-0.101387750238)*x[0]+(-0.294997280251)*x[1]+(0.247605331103)*x[2]
36740            arg[1,1]=(-0.320864335195)*x[0]+(-0.202828013922)*x[1]+(-0.366246434001)*x[2]
36741            arg[1,2]=(-0.827685495006)*x[0]+(-0.236835428287)*x[1]+(-1.48668813903)*x[2]
36742            arg[1,3]=(0.56131602615)*x[0]+(-0.572858337349)*x[1]+(0.701775515666)*x[2]
36743            arg[1,4]=(-1.09228098916)*x[0]+(-0.0251387524711)*x[1]+(1.91587136325)*x[2]
36744            arg[2,0]=(-0.0758503728265)*x[0]+(0.236248603718)*x[1]+(0.0446858988194)*x[2]
36745            arg[2,1]=(-1.1745073907)*x[0]+(-0.519328441654)*x[1]+(-1.19738117811)*x[2]
36746            arg[2,2]=(-0.018812738143)*x[0]+(1.00051415805)*x[1]+(-0.620776442731)*x[2]
36747            arg[2,3]=(-0.430333705208)*x[0]+(0.136368267739)*x[1]+(0.59767563861)*x[2]
36748            arg[2,4]=(1.54336203988)*x[0]+(0.106189845211)*x[1]+(1.53097571242)*x[2]
36749            arg[3,0]=(-0.00451956527502)*x[0]+(0.710318142757)*x[1]+(0.386947317474)*x[2]
36750            arg[3,1]=(1.22013531098)*x[0]+(-0.735641779691)*x[1]+(-0.0137925239152)*x[2]
36751            arg[3,2]=(0.0949363128405)*x[0]+(-0.0778790744582)*x[1]+(-0.466004036944)*x[2]
36752            arg[3,3]=(0.656445527911)*x[0]+(1.67275242688)*x[1]+(-0.0946012389031)*x[2]
36753            arg[3,4]=(0.927582093503)*x[0]+(-0.812773507566)*x[1]+(1.14365402059)*x[2]
36754            ref[0,0]=(-0.822599790066)*x_ref[0]+(-1.22492139307)*x_ref[1]+(-0.696878025616)*x_ref[2]
36755            ref[0,1]=(0.600762284033)*x_ref[0]+(-0.157734608915)*x_ref[1]+(-0.729304703393)*x_ref[2]
36756            ref[0,2]=(-1.42910707426)*x_ref[0]+(1.46395956796)*x_ref[1]+(1.38800770798)*x_ref[2]
36757            ref[0,3]=(1.2198448221)*x_ref[0]+(0.0898753488356)*x_ref[1]+(0.976038279019)*x_ref[2]
36758            ref[0,4]=(-0.616927403743)*x_ref[0]+(1.41159934363)*x_ref[1]+(-1.74783039584)*x_ref[2]
36759            ref[1,0]=(-0.101387750238)*x_ref[0]+(-0.294997280251)*x_ref[1]+(0.247605331103)*x_ref[2]
36760            ref[1,1]=(-0.320864335195)*x_ref[0]+(-0.202828013922)*x_ref[1]+(-0.366246434001)*x_ref[2]
36761            ref[1,2]=(-0.827685495006)*x_ref[0]+(-0.236835428287)*x_ref[1]+(-1.48668813903)*x_ref[2]
36762            ref[1,3]=(0.56131602615)*x_ref[0]+(-0.572858337349)*x_ref[1]+(0.701775515666)*x_ref[2]
36763            ref[1,4]=(-1.09228098916)*x_ref[0]+(-0.0251387524711)*x_ref[1]+(1.91587136325)*x_ref[2]
36764            ref[2,0]=(-0.0758503728265)*x_ref[0]+(0.236248603718)*x_ref[1]+(0.0446858988194)*x_ref[2]
36765            ref[2,1]=(-1.1745073907)*x_ref[0]+(-0.519328441654)*x_ref[1]+(-1.19738117811)*x_ref[2]
36766            ref[2,2]=(-0.018812738143)*x_ref[0]+(1.00051415805)*x_ref[1]+(-0.620776442731)*x_ref[2]
36767            ref[2,3]=(-0.430333705208)*x_ref[0]+(0.136368267739)*x_ref[1]+(0.59767563861)*x_ref[2]
36768            ref[2,4]=(1.54336203988)*x_ref[0]+(0.106189845211)*x_ref[1]+(1.53097571242)*x_ref[2]
36769            ref[3,0]=(-0.00451956527502)*x_ref[0]+(0.710318142757)*x_ref[1]+(0.386947317474)*x_ref[2]
36770            ref[3,1]=(1.22013531098)*x_ref[0]+(-0.735641779691)*x_ref[1]+(-0.0137925239152)*x_ref[2]
36771            ref[3,2]=(0.0949363128405)*x_ref[0]+(-0.0778790744582)*x_ref[1]+(-0.466004036944)*x_ref[2]
36772            ref[3,3]=(0.656445527911)*x_ref[0]+(1.67275242688)*x_ref[1]+(-0.0946012389031)*x_ref[2]
36773            ref[3,4]=(0.927582093503)*x_ref[0]+(-0.812773507566)*x_ref[1]+(1.14365402059)*x_ref[2]
36774          res=interpolate(arg,where=w_ref)
36775          self.failUnless(isinstance(res,Data),"wrong type of result.")
36776          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36777          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
36778          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36779       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36780       def test_interpolate_onFunction_fromData_ReducedSolution_rank3(self):
36781          """
36782          tests interpolate for rank 3 Data onto the Function
36783    
36784          assumptions: self.domain supports inpterpolation from ReducedSolution onto Function
36785          """
36786          o=1
36787          dim=self.domain.getDim()
36788          w_ref=Function(self.domain)
36789          x_ref=w_ref.getX()
36790          w=ReducedSolution(self.domain)
36791          x=w.getX()
36792          arg=Data(0,(6, 2, 2),w)
36793          ref=Data(0,(6, 2, 2),w_ref)
36794          if dim==2:
36795            arg[0,0,0]=(1.53783653017)*x[0]+(-0.262380397029)*x[1]
36796            arg[0,0,1]=(0.0150173886328)*x[0]+(1.16643858096)*x[1]
36797            arg[0,1,0]=(0.886211915116)*x[0]+(0.0707779287946)*x[1]
36798            arg[0,1,1]=(-1.38689895895)*x[0]+(0.970706440444)*x[1]
36799            arg[1,0,0]=(-0.923778075186)*x[0]+(1.93261160466)*x[1]
36800            arg[1,0,1]=(1.03640566039)*x[0]+(-0.511763660443)*x[1]
36801            arg[1,1,0]=(0.127401766462)*x[0]+(-0.472120435035)*x[1]
36802            arg[1,1,1]=(-0.366402024047)*x[0]+(-0.396644605167)*x[1]
36803            arg[2,0,0]=(-0.715041877609)*x[0]+(-1.00214766039)*x[1]
36804            arg[2,0,1]=(-1.52452556675)*x[0]+(-0.570352600973)*x[1]
36805            arg[2,1,0]=(0.730426967288)*x[0]+(0.158290182237)*x[1]
36806            arg[2,1,1]=(-0.152190333299)*x[0]+(-0.254128104593)*x[1]
36807            arg[3,0,0]=(0.835319813606)*x[0]+(-0.142845950855)*x[1]
36808            arg[3,0,1]=(0.80118569153)*x[0]+(0.260295390539)*x[1]
36809            arg[3,1,0]=(0.283151732104)*x[0]+(0.0284945097388)*x[1]
36810            arg[3,1,1]=(-0.715345696074)*x[0]+(0.563181102176)*x[1]
36811            arg[4,0,0]=(-0.481733499899)*x[0]+(1.30638761744)*x[1]
36812            arg[4,0,1]=(-0.515540152341)*x[0]+(1.47724553596)*x[1]
36813            arg[4,1,0]=(0.631902493814)*x[0]+(0.279373852162)*x[1]
36814            arg[4,1,1]=(0.666932982001)*x[0]+(1.02356936117)*x[1]
36815            arg[5,0,0]=(-1.15844673154)*x[0]+(-0.472595660401)*x[1]
36816            arg[5,0,1]=(-0.469626313646)*x[0]+(0.464876870861)*x[1]
36817            arg[5,1,0]=(-0.0934345630024)*x[0]+(0.92605991751)*x[1]
36818            arg[5,1,1]=(-0.0528050605159)*x[0]+(0.984329702885)*x[1]
36819            ref[0,0,0]=(1.53783653017)*x_ref[0]+(-0.262380397029)*x_ref[1]
36820            ref[0,0,1]=(0.0150173886328)*x_ref[0]+(1.16643858096)*x_ref[1]
36821            ref[0,1,0]=(0.886211915116)*x_ref[0]+(0.0707779287946)*x_ref[1]
36822            ref[0,1,1]=(-1.38689895895)*x_ref[0]+(0.970706440444)*x_ref[1]
36823            ref[1,0,0]=(-0.923778075186)*x_ref[0]+(1.93261160466)*x_ref[1]
36824            ref[1,0,1]=(1.03640566039)*x_ref[0]+(-0.511763660443)*x_ref[1]
36825            ref[1,1,0]=(0.127401766462)*x_ref[0]+(-0.472120435035)*x_ref[1]
36826            ref[1,1,1]=(-0.366402024047)*x_ref[0]+(-0.396644605167)*x_ref[1]
36827            ref[2,0,0]=(-0.715041877609)*x_ref[0]+(-1.00214766039)*x_ref[1]
36828            ref[2,0,1]=(-1.52452556675)*x_ref[0]+(-0.570352600973)*x_ref[1]
36829            ref[2,1,0]=(0.730426967288)*x_ref[0]+(0.158290182237)*x_ref[1]
36830            ref[2,1,1]=(-0.152190333299)*x_ref[0]+(-0.254128104593)*x_ref[1]
36831            ref[3,0,0]=(0.835319813606)*x_ref[0]+(-0.142845950855)*x_ref[1]
36832            ref[3,0,1]=(0.80118569153)*x_ref[0]+(0.260295390539)*x_ref[1]
36833            ref[3,1,0]=(0.283151732104)*x_ref[0]+(0.0284945097388)*x_ref[1]
36834            ref[3,1,1]=(-0.715345696074)*x_ref[0]+(0.563181102176)*x_ref[1]
36835            ref[4,0,0]=(-0.481733499899)*x_ref[0]+(1.30638761744)*x_ref[1]
36836            ref[4,0,1]=(-0.515540152341)*x_ref[0]+(1.47724553596)*x_ref[1]
36837            ref[4,1,0]=(0.631902493814)*x_ref[0]+(0.279373852162)*x_ref[1]
36838            ref[4,1,1]=(0.666932982001)*x_ref[0]+(1.02356936117)*x_ref[1]
36839            ref[5,0,0]=(-1.15844673154)*x_ref[0]+(-0.472595660401)*x_ref[1]
36840            ref[5,0,1]=(-0.469626313646)*x_ref[0]+(0.464876870861)*x_ref[1]
36841            ref[5,1,0]=(-0.0934345630024)*x_ref[0]+(0.92605991751)*x_ref[1]
36842            ref[5,1,1]=(-0.0528050605159)*x_ref[0]+(0.984329702885)*x_ref[1]
36843          else:
36844            arg[0,0,0]=(-0.713551995443)*x[0]+(0.694017368402)*x[1]+(-0.0738591792901)*x[2]
36845            arg[0,0,1]=(1.56876736864)*x[0]+(-0.345130721117)*x[1]+(1.1690777905)*x[2]
36846            arg[0,1,0]=(-0.62505379409)*x[0]+(-0.143697617605)*x[1]+(0.132102288091)*x[2]
36847            arg[0,1,1]=(0.873577158168)*x[0]+(-0.967200786585)*x[1]+(1.2903546666)*x[2]
36848            arg[1,0,0]=(-0.192658558584)*x[0]+(0.506709431455)*x[1]+(-0.0952065550445)*x[2]
36849            arg[1,0,1]=(1.30984695498)*x[0]+(-0.469661654194)*x[1]+(1.39212979011)*x[2]
36850            arg[1,1,0]=(-0.49094299988)*x[0]+(1.02571925005)*x[1]+(0.125396191195)*x[2]
36851            arg[1,1,1]=(-0.062798346747)*x[0]+(-0.789359897908)*x[1]+(1.77093308656)*x[2]
36852            arg[2,0,0]=(1.61875859199)*x[0]+(0.594855189809)*x[1]+(0.42445154554)*x[2]
36853            arg[2,0,1]=(-0.856240554561)*x[0]+(0.100699001565)*x[1]+(-0.27854306919)*x[2]
36854            arg[2,1,0]=(0.0478958246378)*x[0]+(0.695175069462)*x[1]+(-0.847667978286)*x[2]
36855            arg[2,1,1]=(1.60820982887)*x[0]+(-0.251793277319)*x[1]+(0.143173366678)*x[2]
36856            arg[3,0,0]=(-0.292866056474)*x[0]+(1.01748459143)*x[1]+(-0.484686028756)*x[2]
36857            arg[3,0,1]=(-0.408126207016)*x[0]+(-1.31011612654)*x[1]+(-0.955847365219)*x[2]
36858            arg[3,1,0]=(0.0396674474263)*x[0]+(0.354470432765)*x[1]+(-0.291731786972)*x[2]
36859            arg[3,1,1]=(0.752098712767)*x[0]+(-1.83970538813)*x[1]+(0.0227500647892)*x[2]
36860            arg[4,0,0]=(0.398849520011)*x[0]+(-1.38237112549)*x[1]+(-0.800550650133)*x[2]
36861            arg[4,0,1]=(0.102399478593)*x[0]+(0.812513136316)*x[1]+(1.25442670221)*x[2]
36862            arg[4,1,0]=(0.224914729031)*x[0]+(0.0706934334606)*x[1]+(0.640265153974)*x[2]
36863            arg[4,1,1]=(0.278731023964)*x[0]+(-0.766892970502)*x[1]+(1.62378242532)*x[2]
36864            arg[5,0,0]=(-0.874002481668)*x[0]+(0.168391989524)*x[1]+(-0.0150981524408)*x[2]
36865            arg[5,0,1]=(1.03369744159)*x[0]+(-0.363152709617)*x[1]+(-0.429141439899)*x[2]
36866            arg[5,1,0]=(1.74293672288)*x[0]+(1.91064523276)*x[1]+(0.159389690962)*x[2]
36867            arg[5,1,1]=(0.769432577623)*x[0]+(0.929942365281)*x[1]+(0.170908152574)*x[2]
36868            ref[0,0,0]=(-0.713551995443)*x_ref[0]+(0.694017368402)*x_ref[1]+(-0.0738591792901)*x_ref[2]
36869            ref[0,0,1]=(1.56876736864)*x_ref[0]+(-0.345130721117)*x_ref[1]+(1.1690777905)*x_ref[2]
36870            ref[0,1,0]=(-0.62505379409)*x_ref[0]+(-0.143697617605)*x_ref[1]+(0.132102288091)*x_ref[2]
36871            ref[0,1,1]=(0.873577158168)*x_ref[0]+(-0.967200786585)*x_ref[1]+(1.2903546666)*x_ref[2]
36872            ref[1,0,0]=(-0.192658558584)*x_ref[0]+(0.506709431455)*x_ref[1]+(-0.0952065550445)*x_ref[2]
36873            ref[1,0,1]=(1.30984695498)*x_ref[0]+(-0.469661654194)*x_ref[1]+(1.39212979011)*x_ref[2]
36874            ref[1,1,0]=(-0.49094299988)*x_ref[0]+(1.02571925005)*x_ref[1]+(0.125396191195)*x_ref[2]
36875            ref[1,1,1]=(-0.062798346747)*x_ref[0]+(-0.789359897908)*x_ref[1]+(1.77093308656)*x_ref[2]
36876            ref[2,0,0]=(1.61875859199)*x_ref[0]+(0.594855189809)*x_ref[1]+(0.42445154554)*x_ref[2]
36877            ref[2,0,1]=(-0.856240554561)*x_ref[0]+(0.100699001565)*x_ref[1]+(-0.27854306919)*x_ref[2]
36878            ref[2,1,0]=(0.0478958246378)*x_ref[0]+(0.695175069462)*x_ref[1]+(-0.847667978286)*x_ref[2]
36879            ref[2,1,1]=(1.60820982887)*x_ref[0]+(-0.251793277319)*x_ref[1]+(0.143173366678)*x_ref[2]
36880            ref[3,0,0]=(-0.292866056474)*x_ref[0]+(1.01748459143)*x_ref[1]+(-0.484686028756)*x_ref[2]
36881            ref[3,0,1]=(-0.408126207016)*x_ref[0]+(-1.31011612654)*x_ref[1]+(-0.955847365219)*x_ref[2]
36882            ref[3,1,0]=(0.0396674474263)*x_ref[0]+(0.354470432765)*x_ref[1]+(-0.291731786972)*x_ref[2]
36883            ref[3,1,1]=(0.752098712767)*x_ref[0]+(-1.83970538813)*x_ref[1]+(0.0227500647892)*x_ref[2]
36884            ref[4,0,0]=(0.398849520011)*x_ref[0]+(-1.38237112549)*x_ref[1]+(-0.800550650133)*x_ref[2]
36885            ref[4,0,1]=(0.102399478593)*x_ref[0]+(0.812513136316)*x_ref[1]+(1.25442670221)*x_ref[2]
36886            ref[4,1,0]=(0.224914729031)*x_ref[0]+(0.0706934334606)*x_ref[1]+(0.640265153974)*x_ref[2]
36887            ref[4,1,1]=(0.278731023964)*x_ref[0]+(-0.766892970502)*x_ref[1]+(1.62378242532)*x_ref[2]
36888            ref[5,0,0]=(-0.874002481668)*x_ref[0]+(0.168391989524)*x_ref[1]+(-0.0150981524408)*x_ref[2]
36889            ref[5,0,1]=(1.03369744159)*x_ref[0]+(-0.363152709617)*x_ref[1]+(-0.429141439899)*x_ref[2]
36890            ref[5,1,0]=(1.74293672288)*x_ref[0]+(1.91064523276)*x_ref[1]+(0.159389690962)*x_ref[2]
36891            ref[5,1,1]=(0.769432577623)*x_ref[0]+(0.929942365281)*x_ref[1]+(0.170908152574)*x_ref[2]
36892          res=interpolate(arg,where=w_ref)
36893          self.failUnless(isinstance(res,Data),"wrong type of result.")
36894          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36895          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
36896          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36897       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36898       def test_interpolate_onFunction_fromData_ReducedSolution_rank4(self):
36899          """
36900          tests interpolate for rank 4 Data onto the Function
36901    
36902          assumptions: self.domain supports inpterpolation from ReducedSolution onto Function
36903          """
36904          o=1
36905          dim=self.domain.getDim()
36906          w_ref=Function(self.domain)
36907          x_ref=w_ref.getX()
36908          w=ReducedSolution(self.domain)
36909          x=w.getX()
36910          arg=Data(0,(4, 5, 3, 2),w)
36911          ref=Data(0,(4, 5, 3, 2),w_ref)
36912          if dim==2:
36913            arg[0,0,0,0]=(-1.15521896363)*x[0]+(0.8731619129)*x[1]
36914            arg[0,0,0,1]=(0.597656443464)*x[0]+(0.341688152811)*x[1]
36915            arg[0,0,1,0]=(-0.422350580427)*x[0]+(0.728011338687)*x[1]
36916            arg[0,0,1,1]=(-1.72046294064)*x[0]+(1.13345636724)*x[1]
36917            arg[0,0,2,0]=(0.150530941523)*x[0]+(0.437417461641)*x[1]
36918            arg[0,0,2,1]=(-0.413133183531)*x[0]+(-0.268630939964)*x[1]
36919            arg[0,1,0,0]=(-0.220368905416)*x[0]+(1.10085894684)*x[1]
36920            arg[0,1,0,1]=(-0.943367491188)*x[0]+(0.80942793885)*x[1]
36921            arg[0,1,1,0]=(0.906220152303)*x[0]+(0.801214136703)*x[1]
36922            arg[0,1,1,1]=(-1.3650200124)*x[0]+(-0.373454973523)*x[1]
36923            arg[0,1,2,0]=(-0.277067377427)*x[0]+(-1.62229711799)*x[1]
36924            arg[0,1,2,1]=(0.787076886379)*x[0]+(0.496906919368)*x[1]
36925            arg[0,2,0,0]=(-0.0770154256748)*x[0]+(1.5002648939)*x[1]
36926            arg[0,2,0,1]=(0.225572553862)*x[0]+(1.39471337012)*x[1]
36927            arg[0,2,1,0]=(-0.54799237637)*x[0]+(-0.607785237418)*x[1]
36928            arg[0,2,1,1]=(0.384591801229)*x[0]+(1.30760620469)*x[1]
36929            arg[0,2,2,0]=(0.228248139163)*x[0]+(0.151268778109)*x[1]
36930            arg[0,2,2,1]=(-1.43978230199)*x[0]+(0.958903347524)*x[1]
36931            arg[0,3,0,0]=(-0.568133098072)*x[0]+(0.128510595507)*x[1]
36932            arg[0,3,0,1]=(-0.304029315535)*x[0]+(1.19478464847)*x[1]
36933            arg[0,3,1,0]=(0.0996876882275)*x[0]+(-0.255346045102)*x[1]
36934            arg[0,3,1,1]=(0.414708254109)*x[0]+(-0.148700489536)*x[1]
36935            arg[0,3,2,0]=(-0.740719850161)*x[0]+(0.375907815982)*x[1]
36936            arg[0,3,2,1]=(-0.184189058365)*x[0]+(-0.274477516444)*x[1]
36937            arg[0,4,0,0]=(-0.565848858136)*x[0]+(-0.206818417121)*x[1]
36938            arg[0,4,0,1]=(-0.983652399085)*x[0]+(1.21445827986)*x[1]
36939            arg[0,4,1,0]=(1.6425686123)*x[0]+(-0.621952337654)*x[1]
36940            arg[0,4,1,1]=(-1.07526530849)*x[0]+(-0.0915810578715)*x[1]
36941            arg[0,4,2,0]=(1.4812278738)*x[0]+(1.61991326423)*x[1]
36942            arg[0,4,2,1]=(-1.4147420413)*x[0]+(1.34428787131)*x[1]
36943            arg[1,0,0,0]=(-0.910373659777)*x[0]+(1.46920176435)*x[1]
36944            arg[1,0,0,1]=(0.074473571609)*x[0]+(-0.336642181231)*x[1]
36945            arg[1,0,1,0]=(-0.141813739296)*x[0]+(-0.534432398621)*x[1]
36946            arg[1,0,1,1]=(0.728030938984)*x[0]+(0.532542738961)*x[1]
36947            arg[1,0,2,0]=(0.20676316374)*x[0]+(-0.065235999066)*x[1]
36948            arg[1,0,2,1]=(-1.09054680794)*x[0]+(0.537754476805)*x[1]
36949            arg[1,1,0,0]=(0.523878896271)*x[0]+(-0.0561828109964)*x[1]
36950            arg[1,1,0,1]=(1.27754653741)*x[0]+(0.119734333004)*x[1]
36951            arg[1,1,1,0]=(0.0933160885942)*x[0]+(0.390183021193)*x[1]
36952            arg[1,1,1,1]=(0.548273953924)*x[0]+(-0.552588185124)*x[1]
36953            arg[1,1,2,0]=(0.576803722241)*x[0]+(0.60898781381)*x[1]
36954            arg[1,1,2,1]=(-0.307231650547)*x[0]+(0.439111970656)*x[1]
36955            arg[1,2,0,0]=(0.172113300736)*x[0]+(-0.0153971432613)*x[1]
36956            arg[1,2,0,1]=(-0.883753634465)*x[0]+(1.35320294175)*x[1]
36957            arg[1,2,1,0]=(0.153937139638)*x[0]+(-0.865654430739)*x[1]
36958            arg[1,2,1,1]=(0.970377377543)*x[0]+(-1.11418225395)*x[1]
36959            arg[1,2,2,0]=(-1.11106779953)*x[0]+(-0.357700480625)*x[1]
36960            arg[1,2,2,1]=(0.475529404147)*x[0]+(-0.121369909464)*x[1]
36961            arg[1,3,0,0]=(-0.867370155191)*x[0]+(0.625161512036)*x[1]
36962            arg[1,3,0,1]=(0.252873452474)*x[0]+(1.11368263907)*x[1]
36963            arg[1,3,1,0]=(-1.25698605702)*x[0]+(-0.381254857218)*x[1]
36964            arg[1,3,1,1]=(1.12038052674)*x[0]+(-0.113429410248)*x[1]
36965            arg[1,3,2,0]=(0.0821799570201)*x[0]+(-0.167383600252)*x[1]
36966            arg[1,3,2,1]=(-0.534217900599)*x[0]+(-1.26144431009)*x[1]
36967            arg[1,4,0,0]=(0.639186045888)*x[0]+(0.258686782482)*x[1]
36968            arg[1,4,0,1]=(-0.256515011769)*x[0]+(0.797453395844)*x[1]
36969            arg[1,4,1,0]=(-0.427518421999)*x[0]+(-0.101439725502)*x[1]
36970            arg[1,4,1,1]=(-0.251303248239)*x[0]+(0.361194806374)*x[1]
36971            arg[1,4,2,0]=(0.415313798163)*x[0]+(-0.909602300262)*x[1]
36972            arg[1,4,2,1]=(0.118542894027)*x[0]+(-0.28224555744)*x[1]
36973            arg[2,0,0,0]=(0.700687096184)*x[0]+(-1.69964436969)*x[1]
36974            arg[2,0,0,1]=(0.880393551605)*x[0]+(-0.571112060462)*x[1]
36975            arg[2,0,1,0]=(1.35990706973)*x[0]+(0.260154297077)*x[1]
36976            arg[2,0,1,1]=(0.294201987212)*x[0]+(-0.379007248662)*x[1]
36977            arg[2,0,2,0]=(-1.42914701121)*x[0]+(0.88289145627)*x[1]
36978            arg[2,0,2,1]=(-0.343976881604)*x[0]+(0.0642493086788)*x[1]
36979            arg[2,1,0,0]=(0.479103547757)*x[0]+(-1.60276044525)*x[1]
36980            arg[2,1,0,1]=(0.944321957371)*x[0]+(0.313721173145)*x[1]
36981            arg[2,1,1,0]=(0.233589885494)*x[0]+(-0.427865810692)*x[1]
36982            arg[2,1,1,1]=(-0.954518596356)*x[0]+(-0.153033245523)*x[1]
36983            arg[2,1,2,0]=(1.14079619235)*x[0]+(0.136503305207)*x[1]
36984            arg[2,1,2,1]=(-0.715601080868)*x[0]+(-1.74677798058)*x[1]
36985            arg[2,2,0,0]=(0.211908166714)*x[0]+(0.379390512119)*x[1]
36986            arg[2,2,0,1]=(0.97243389801)*x[0]+(-0.988193298566)*x[1]
36987            arg[2,2,1,0]=(0.8990152555)*x[0]+(0.22398476583)*x[1]
36988            arg[2,2,1,1]=(-0.748858338529)*x[0]+(-1.00255098852)*x[1]
36989            arg[2,2,2,0]=(0.863334969354)*x[0]+(1.14334958607)*x[1]
36990            arg[2,2,2,1]=(-0.807672728362)*x[0]+(0.837576150239)*x[1]
36991            arg[2,3,0,0]=(-0.310471066952)*x[0]+(0.261468387883)*x[1]
36992            arg[2,3,0,1]=(-1.61325161386)*x[0]+(0.016614907729)*x[1]
36993            arg[2,3,1,0]=(-0.742577714565)*x[0]+(-1.54936077725)*x[1]
36994            arg[2,3,1,1]=(-0.393825799694)*x[0]+(0.66004298074)*x[1]
36995            arg[2,3,2,0]=(-1.03965632182)*x[0]+(-0.863160703719)*x[1]
36996            arg[2,3,2,1]=(0.673788653196)*x[0]+(0.740311339524)*x[1]
36997            arg[2,4,0,0]=(1.59272250531)*x[0]+(1.27845229216)*x[1]
36998            arg[2,4,0,1]=(0.112947869874)*x[0]+(1.06626388923)*x[1]
36999            arg[2,4,1,0]=(-0.935174560087)*x[0]+(0.729112002619)*x[1]
37000            arg[2,4,1,1]=(1.28167575095)*x[0]+(-1.6626881011)*x[1]
37001            arg[2,4,2,0]=(-1.01382997014)*x[0]+(0.40870705964)*x[1]
37002            arg[2,4,2,1]=(-0.903293274454)*x[0]+(0.451662927854)*x[1]
37003            arg[3,0,0,0]=(0.414933474895)*x[0]+(0.274208992931)*x[1]
37004            arg[3,0,0,1]=(-0.140384007335)*x[0]+(-0.201270983912)*x[1]
37005            arg[3,0,1,0]=(-1.34339529394)*x[0]+(-1.26275414913)*x[1]
37006            arg[3,0,1,1]=(0.34482759487)*x[0]+(0.992140984097)*x[1]
37007            arg[3,0,2,0]=(-1.56575003976)*x[0]+(-0.514557317682)*x[1]
37008            arg[3,0,2,1]=(-0.203196026518)*x[0]+(-0.50777550196)*x[1]
37009            arg[3,1,0,0]=(-0.465027052452)*x[0]+(0.165299984247)*x[1]
37010            arg[3,1,0,1]=(-0.876537945705)*x[0]+(0.569062140702)*x[1]
37011            arg[3,1,1,0]=(0.212854890028)*x[0]+(0.772436691343)*x[1]
37012            arg[3,1,1,1]=(0.376912060989)*x[0]+(-1.59078116917)*x[1]
37013            arg[3,1,2,0]=(-1.19949528387)*x[0]+(0.508138309995)*x[1]
37014            arg[3,1,2,1]=(0.535067293288)*x[0]+(0.483486234966)*x[1]
37015            arg[3,2,0,0]=(-0.366454519079)*x[0]+(0.880937088999)*x[1]
37016            arg[3,2,0,1]=(-0.164158778522)*x[0]+(-0.0933716527947)*x[1]
37017            arg[3,2,1,0]=(-0.338148774302)*x[0]+(0.389103301223)*x[1]
37018            arg[3,2,1,1]=(-1.17323344849)*x[0]+(-0.286752347393)*x[1]
37019            arg[3,2,2,0]=(0.43651426746)*x[0]+(0.0751512323008)*x[1]
37020            arg[3,2,2,1]=(1.44242451962)*x[0]+(-0.853169055909)*x[1]
37021            arg[3,3,0,0]=(0.268862750262)*x[0]+(0.668643005784)*x[1]
37022            arg[3,3,0,1]=(-1.47078437928)*x[0]+(1.25865018681)*x[1]
37023            arg[3,3,1,0]=(-0.218849811361)*x[0]+(0.147601849599)*x[1]
37024            arg[3,3,1,1]=(1.66493534918)*x[0]+(0.368711512357)*x[1]
37025            arg[3,3,2,0]=(0.259910144631)*x[0]+(-0.977975383491)*x[1]
37026            arg[3,3,2,1]=(1.87696180213)*x[0]+(-0.583679438031)*x[1]
37027            arg[3,4,0,0]=(0.226114159843)*x[0]+(0.121547181819)*x[1]
37028            arg[3,4,0,1]=(1.21215141305)*x[0]+(-0.175673309633)*x[1]
37029            arg[3,4,1,0]=(0.644340639306)*x[0]+(0.35372514848)*x[1]
37030            arg[3,4,1,1]=(0.452987488144)*x[0]+(0.838110546855)*x[1]
37031            arg[3,4,2,0]=(-0.434414511976)*x[0]+(-0.879038818613)*x[1]
37032            arg[3,4,2,1]=(-0.387240543602)*x[0]+(0.187795787877)*x[1]
37033            ref[0,0,0,0]=(-1.15521896363)*x_ref[0]+(0.8731619129)*x_ref[1]
37034            ref[0,0,0,1]=(0.597656443464)*x_ref[0]+(0.341688152811)*x_ref[1]
37035            ref[0,0,1,0]=(-0.422350580427)*x_ref[0]+(0.728011338687)*x_ref[1]
37036            ref[0,0,1,1]=(-1.72046294064)*x_ref[0]+(1.13345636724)*x_ref[1]
37037            ref[0,0,2,0]=(0.150530941523)*x_ref[0]+(0.437417461641)*x_ref[1]
37038            ref[0,0,2,1]=(-0.413133183531)*x_ref[0]+(-0.268630939964)*x_ref[1]
37039            ref[0,1,0,0]=(-0.220368905416)*x_ref[0]+(1.10085894684)*x_ref[1]
37040            ref[0,1,0,1]=(-0.943367491188)*x_ref[0]+(0.80942793885)*x_ref[1]
37041            ref[0,1,1,0]=(0.906220152303)*x_ref[0]+(0.801214136703)*x_ref[1]
37042            ref[0,1,1,1]=(-1.3650200124)*x_ref[0]+(-0.373454973523)*x_ref[1]
37043            ref[0,1,2,0]=(-0.277067377427)*x_ref[0]+(-1.62229711799)*x_ref[1]
37044            ref[0,1,2,1]=(0.787076886379)*x_ref[0]+(0.496906919368)*x_ref[1]
37045            ref[0,2,0,0]=(-0.0770154256748)*x_ref[0]+(1.5002648939)*x_ref[1]
37046            ref[0,2,0,1]=(0.225572553862)*x_ref[0]+(1.39471337012)*x_ref[1]
37047            ref[0,2,1,0]=(-0.54799237637)*x_ref[0]+(-0.607785237418)*x_ref[1]
37048            ref[0,2,1,1]=(0.384591801229)*x_ref[0]+(1.30760620469)*x_ref[1]
37049            ref[0,2,2,0]=(0.228248139163)*x_ref[0]+(0.151268778109)*x_ref[1]
37050            ref[0,2,2,1]=(-1.43978230199)*x_ref[0]+(0.958903347524)*x_ref[1]
37051            ref[0,3,0,0]=(-0.568133098072)*x_ref[0]+(0.128510595507)*x_ref[1]
37052            ref[0,3,0,1]=(-0.304029315535)*x_ref[0]+(1.19478464847)*x_ref[1]
37053            ref[0,3,1,0]=(0.0996876882275)*x_ref[0]+(-0.255346045102)*x_ref[1]
37054            ref[0,3,1,1]=(0.414708254109)*x_ref[0]+(-0.148700489536)*x_ref[1]
37055            ref[0,3,2,0]=(-0.740719850161)*x_ref[0]+(0.375907815982)*x_ref[1]
37056            ref[0,3,2,1]=(-0.184189058365)*x_ref[0]+(-0.274477516444)*x_ref[1]
37057            ref[0,4,0,0]=(-0.565848858136)*x_ref[0]+(-0.206818417121)*x_ref[1]
37058            ref[0,4,0,1]=(-0.983652399085)*x_ref[0]+(1.21445827986)*x_ref[1]
37059            ref[0,4,1,0]=(1.6425686123)*x_ref[0]+(-0.621952337654)*x_ref[1]
37060            ref[0,4,1,1]=(-1.07526530849)*x_ref[0]+(-0.0915810578715)*x_ref[1]
37061            ref[0,4,2,0]=(1.4812278738)*x_ref[0]+(1.61991326423)*x_ref[1]
37062            ref[0,4,2,1]=(-1.4147420413)*x_ref[0]+(1.34428787131)*x_ref[1]
37063            ref[1,0,0,0]=(-0.910373659777)*x_ref[0]+(1.46920176435)*x_ref[1]
37064            ref[1,0,0,1]=(0.074473571609)*x_ref[0]+(-0.336642181231)*x_ref[1]
37065            ref[1,0,1,0]=(-0.141813739296)*x_ref[0]+(-0.534432398621)*x_ref[1]
37066            ref[1,0,1,1]=(0.728030938984)*x_ref[0]+(0.532542738961)*x_ref[1]
37067            ref[1,0,2,0]=(0.20676316374)*x_ref[0]+(-0.065235999066)*x_ref[1]
37068            ref[1,0,2,1]=(-1.09054680794)*x_ref[0]+(0.537754476805)*x_ref[1]
37069            ref[1,1,0,0]=(0.523878896271)*x_ref[0]+(-0.0561828109964)*x_ref[1]
37070            ref[1,1,0,1]=(1.27754653741)*x_ref[0]+(0.119734333004)*x_ref[1]
37071            ref[1,1,1,0]=(0.0933160885942)*x_ref[0]+(0.390183021193)*x_ref[1]
37072            ref[1,1,1,1]=(0.548273953924)*x_ref[0]+(-0.552588185124)*x_ref[1]
37073            ref[1,1,2,0]=(0.576803722241)*x_ref[0]+(0.60898781381)*x_ref[1]
37074            ref[1,1,2,1]=(-0.307231650547)*x_ref[0]+(0.439111970656)*x_ref[1]
37075            ref[1,2,0,0]=(0.172113300736)*x_ref[0]+(-0.0153971432613)*x_ref[1]
37076            ref[1,2,0,1]=(-0.883753634465)*x_ref[0]+(1.35320294175)*x_ref[1]
37077            ref[1,2,1,0]=(0.153937139638)*x_ref[0]+(-0.865654430739)*x_ref[1]
37078            ref[1,2,1,1]=(0.970377377543)*x_ref[0]+(-1.11418225395)*x_ref[1]
37079            ref[1,2,2,0]=(-1.11106779953)*x_ref[0]+(-0.357700480625)*x_ref[1]
37080            ref[1,2,2,1]=(0.475529404147)*x_ref[0]+(-0.121369909464)*x_ref[1]
37081            ref[1,3,0,0]=(-0.867370155191)*x_ref[0]+(0.625161512036)*x_ref[1]
37082            ref[1,3,0,1]=(0.252873452474)*x_ref[0]+(1.11368263907)*x_ref[1]
37083            ref[1,3,1,0]=(-1.25698605702)*x_ref[0]+(-0.381254857218)*x_ref[1]
37084            ref[1,3,1,1]=(1.12038052674)*x_ref[0]+(-0.113429410248)*x_ref[1]
37085            ref[1,3,2,0]=(0.0821799570201)*x_ref[0]+(-0.167383600252)*x_ref[1]
37086            ref[1,3,2,1]=(-0.534217900599)*x_ref[0]+(-1.26144431009)*x_ref[1]
37087            ref[1,4,0,0]=(0.639186045888)*x_ref[0]+(0.258686782482)*x_ref[1]
37088            ref[1,4,0,1]=(-0.256515011769)*x_ref[0]+(0.797453395844)*x_ref[1]
37089            ref[1,4,1,0]=(-0.427518421999)*x_ref[0]+(-0.101439725502)*x_ref[1]
37090            ref[1,4,1,1]=(-0.251303248239)*x_ref[0]+(0.361194806374)*x_ref[1]
37091            ref[1,4,2,0]=(0.415313798163)*x_ref[0]+(-0.909602300262)*x_ref[1]
37092            ref[1,4,2,1]=(0.118542894027)*x_ref[0]+(-0.28224555744)*x_ref[1]
37093            ref[2,0,0,0]=(0.700687096184)*x_ref[0]+(-1.69964436969)*x_ref[1]
37094            ref[2,0,0,1]=(0.880393551605)*x_ref[0]+(-0.571112060462)*x_ref[1]
37095            ref[2,0,1,0]=(1.35990706973)*x_ref[0]+(0.260154297077)*x_ref[1]
37096            ref[2,0,1,1]=(0.294201987212)*x_ref[0]+(-0.379007248662)*x_ref[1]
37097            ref[2,0,2,0]=(-1.42914701121)*x_ref[0]+(0.88289145627)*x_ref[1]
37098            ref[2,0,2,1]=(-0.343976881604)*x_ref[0]+(0.0642493086788)*x_ref[1]
37099            ref[2,1,0,0]=(0.479103547757)*x_ref[0]+(-1.60276044525)*x_ref[1]
37100            ref[2,1,0,1]=(0.944321957371)*x_ref[0]+(0.313721173145)*x_ref[1]
37101            ref[2,1,1,0]=(0.233589885494)*x_ref[0]+(-0.427865810692)*x_ref[1]
37102            ref[2,1,1,1]=(-0.954518596356)*x_ref[0]+(-0.153033245523)*x_ref[1]
37103            ref[2,1,2,0]=(1.14079619235)*x_ref[0]+(0.136503305207)*x_ref[1]
37104            ref[2,1,2,1]=(-0.715601080868)*x_ref[0]+(-1.74677798058)*x_ref[1]
37105            ref[2,2,0,0]=(0.211908166714)*x_ref[0]+(0.379390512119)*x_ref[1]
37106            ref[2,2,0,1]=(0.97243389801)*x_ref[0]+(-0.988193298566)*x_ref[1]
37107            ref[2,2,1,0]=(0.8990152555)*x_ref[0]+(0.22398476583)*x_ref[1]
37108            ref[2,2,1,1]=(-0.748858338529)*x_ref[0]+(-1.00255098852)*x_ref[1]
37109            ref[2,2,2,0]=(0.863334969354)*x_ref[0]+(1.14334958607)*x_ref[1]
37110            ref[2,2,2,1]=(-0.807672728362)*x_ref[0]+(0.837576150239)*x_ref[1]
37111            ref[2,3,0,0]=(-0.310471066952)*x_ref[0]+(0.261468387883)*x_ref[1]
37112            ref[2,3,0,1]=(-1.61325161386)*x_ref[0]+(0.016614907729)*x_ref[1]
37113            ref[2,3,1,0]=(-0.742577714565)*x_ref[0]+(-1.54936077725)*x_ref[1]
37114            ref[2,3,1,1]=(-0.393825799694)*x_ref[0]+(0.66004298074)*x_ref[1]
37115            ref[2,3,2,0]=(-1.03965632182)*x_ref[0]+(-0.863160703719)*x_ref[1]
37116            ref[2,3,2,1]=(0.673788653196)*x_ref[0]+(0.740311339524)*x_ref[1]
37117            ref[2,4,0,0]=(1.59272250531)*x_ref[0]+(1.27845229216)*x_ref[1]
37118            ref[2,4,0,1]=(0.112947869874)*x_ref[0]+(1.06626388923)*x_ref[1]
37119            ref[2,4,1,0]=(-0.935174560087)*x_ref[0]+(0.729112002619)*x_ref[1]
37120            ref[2,4,1,1]=(1.28167575095)*x_ref[0]+(-1.6626881011)*x_ref[1]
37121            ref[2,4,2,0]=(-1.01382997014)*x_ref[0]+(0.40870705964)*x_ref[1]
37122            ref[2,4,2,1]=(-0.903293274454)*x_ref[0]+(0.451662927854)*x_ref[1]
37123            ref[3,0,0,0]=(0.414933474895)*x_ref[0]+(0.274208992931)*x_ref[1]
37124            ref[3,0,0,1]=(-0.140384007335)*x_ref[0]+(-0.201270983912)*x_ref[1]
37125            ref[3,0,1,0]=(-1.34339529394)*x_ref[0]+(-1.26275414913)*x_ref[1]
37126            ref[3,0,1,1]=(0.34482759487)*x_ref[0]+(0.992140984097)*x_ref[1]
37127            ref[3,0,2,0]=(-1.56575003976)*x_ref[0]+(-0.514557317682)*x_ref[1]
37128            ref[3,0,2,1]=(-0.203196026518)*x_ref[0]+(-0.50777550196)*x_ref[1]
37129            ref[3,1,0,0]=(-0.465027052452)*x_ref[0]+(0.165299984247)*x_ref[1]
37130            ref[3,1,0,1]=(-0.876537945705)*x_ref[0]+(0.569062140702)*x_ref[1]
37131            ref[3,1,1,0]=(0.212854890028)*x_ref[0]+(0.772436691343)*x_ref[1]
37132            ref[3,1,1,1]=(0.376912060989)*x_ref[0]+(-1.59078116917)*x_ref[1]
37133            ref[3,1,2,0]=(-1.19949528387)*x_ref[0]+(0.508138309995)*x_ref[1]
37134            ref[3,1,2,1]=(0.535067293288)*x_ref[0]+(0.483486234966)*x_ref[1]
37135            ref[3,2,0,0]=(-0.366454519079)*x_ref[0]+(0.880937088999)*x_ref[1]
37136            ref[3,2,0,1]=(-0.164158778522)*x_ref[0]+(-0.0933716527947)*x_ref[1]
37137            ref[3,2,1,0]=(-0.338148774302)*x_ref[0]+(0.389103301223)*x_ref[1]
37138            ref[3,2,1,1]=(-1.17323344849)*x_ref[0]+(-0.286752347393)*x_ref[1]
37139            ref[3,2,2,0]=(0.43651426746)*x_ref[0]+(0.0751512323008)*x_ref[1]
37140            ref[3,2,2,1]=(1.44242451962)*x_ref[0]+(-0.853169055909)*x_ref[1]
37141            ref[3,3,0,0]=(0.268862750262)*x_ref[0]+(0.668643005784)*x_ref[1]
37142            ref[3,3,0,1]=(-1.47078437928)*x_ref[0]+(1.25865018681)*x_ref[1]
37143            ref[3,3,1,0]=(-0.218849811361)*x_ref[0]+(0.147601849599)*x_ref[1]
37144            ref[3,3,1,1]=(1.66493534918)*x_ref[0]+(0.368711512357)*x_ref[1]
37145            ref[3,3,2,0]=(0.259910144631)*x_ref[0]+(-0.977975383491)*x_ref[1]
37146            ref[3,3,2,1]=(1.87696180213)*x_ref[0]+(-0.583679438031)*x_ref[1]
37147            ref[3,4,0,0]=(0.226114159843)*x_ref[0]+(0.121547181819)*x_ref[1]
37148            ref[3,4,0,1]=(1.21215141305)*x_ref[0]+(-0.175673309633)*x_ref[1]
37149            ref[3,4,1,0]=(0.644340639306)*x_ref[0]+(0.35372514848)*x_ref[1]
37150            ref[3,4,1,1]=(0.452987488144)*x_ref[0]+(0.838110546855)*x_ref[1]
37151            ref[3,4,2,0]=(-0.434414511976)*x_ref[0]+(-0.879038818613)*x_ref[1]
37152            ref[3,4,2,1]=(-0.387240543602)*x_ref[0]+(0.187795787877)*x_ref[1]
37153          else:
37154            arg[0,0,0,0]=(0.523374388946)*x[0]+(-0.462029311047)*x[1]+(-0.47732568751)*x[2]
37155            arg[0,0,0,1]=(0.641437288282)*x[0]+(-0.245967769804)*x[1]+(-0.882711488334)*x[2]
37156            arg[0,0,1,0]=(-0.039075405101)*x[0]+(0.233479040723)*x[1]+(-0.450244284473)*x[2]
37157            arg[0,0,1,1]=(-1.00711630706)*x[0]+(-0.247720707527)*x[1]+(-0.597073422746)*x[2]
37158            arg[0,0,2,0]=(0.141738833983)*x[0]+(-1.34846391496)*x[1]+(0.214891803475)*x[2]
37159            arg[0,0,2,1]=(0.276967719755)*x[0]+(-0.64300940909)*x[1]+(-1.10068852616)*x[2]
37160            arg[0,1,0,0]=(0.438911917989)*x[0]+(0.588137625057)*x[1]+(0.744848057181)*x[2]
37161            arg[0,1,0,1]=(0.266343859518)*x[0]+(1.24092635599)*x[1]+(0.477206170905)*x[2]
37162            arg[0,1,1,0]=(0.328857688358)*x[0]+(-1.17720038645)*x[1]+(0.285045368661)*x[2]
37163            arg[0,1,1,1]=(-0.0985505878353)*x[0]+(1.11228710542)*x[1]+(0.159347839514)*x[2]
37164            arg[0,1,2,0]=(0.125378210814)*x[0]+(1.51252392793)*x[1]+(-0.0402281595871)*x[2]
37165            arg[0,1,2,1]=(-1.41964435548)*x[0]+(0.825108246489)*x[1]+(0.31679169508)*x[2]
37166            arg[0,2,0,0]=(1.47728541117)*x[0]+(0.957708443424)*x[1]+(-0.187892562217)*x[2]
37167            arg[0,2,0,1]=(0.0614505001405)*x[0]+(0.144444072992)*x[1]+(0.287839563179)*x[2]
37168            arg[0,2,1,0]=(0.512698173313)*x[0]+(0.316852993542)*x[1]+(0.538020705489)*x[2]
37169            arg[0,2,1,1]=(-0.349895838053)*x[0]+(1.50602760725)*x[1]+(-0.959979406715)*x[2]
37170            arg[0,2,2,0]=(-0.618802027626)*x[0]+(0.71544179402)*x[1]+(1.09297898989)*x[2]
37171            arg[0,2,2,1]=(-0.264932530879)*x[0]+(-1.4100323815)*x[1]+(-1.28423925034)*x[2]
37172            arg[0,3,0,0]=(0.481724893561)*x[0]+(-0.546248388253)*x[1]+(-0.214332802735)*x[2]
37173            arg[0,3,0,1]=(-1.33293479098)*x[0]+(0.989294320484)*x[1]+(-0.561974021785)*x[2]
37174            arg[0,3,1,0]=(-0.394718780001)*x[0]+(1.0043343416)*x[1]+(1.51370839793)*x[2]
37175            arg[0,3,1,1]=(1.08238957373)*x[0]+(0.591631122094)*x[1]+(0.075283954318)*x[2]
37176            arg[0,3,2,0]=(-1.0250149161)*x[0]+(-0.739848118412)*x[1]+(0.736595112789)*x[2]
37177            arg[0,3,2,1]=(-1.08033009366)*x[0]+(-0.574926147021)*x[1]+(0.421251948724)*x[2]
37178            arg[0,4,0,0]=(-0.0894466241931)*x[0]+(1.14935896473)*x[1]+(-0.490410015077)*x[2]
37179            arg[0,4,0,1]=(1.07777309372)*x[0]+(1.0672971936)*x[1]+(0.340143160972)*x[2]
37180            arg[0,4,1,0]=(0.905553949676)*x[0]+(0.171320798438)*x[1]+(1.83634812891)*x[2]
37181            arg[0,4,1,1]=(-0.663516264963)*x[0]+(0.14871937304)*x[1]+(-0.697949666962)*x[2]
37182            arg[0,4,2,0]=(1.41806579095)*x[0]+(0.0357313086623)*x[1]+(0.110846683649)*x[2]
37183            arg[0,4,2,1]=(-0.31919270211)*x[0]+(-1.651049084)*x[1]+(-1.47528307262)*x[2]
37184            arg[1,0,0,0]=(0.167209321535)*x[0]+(-1.13066332212)*x[1]+(0.209489173491)*x[2]
37185            arg[1,0,0,1]=(1.45770122794)*x[0]+(1.12024118263)*x[1]+(0.0203526002602)*x[2]
37186            arg[1,0,1,0]=(0.180403238696)*x[0]+(0.580625819717)*x[1]+(-1.00882441351)*x[2]
37187            arg[1,0,1,1]=(-0.20671421669)*x[0]+(-0.199445466326)*x[1]+(0.887365974398)*x[2]
37188            arg[1,0,2,0]=(-0.0109233374932)*x[0]+(0.835241335188)*x[1]+(-0.810658050514)*x[2]
37189            arg[1,0,2,1]=(-1.45991974539)*x[0]+(0.955399748215)*x[1]+(0.398673469474)*x[2]
37190            arg[1,1,0,0]=(0.726687414113)*x[0]+(-1.35343793545)*x[1]+(0.750079540417)*x[2]
37191            arg[1,1,0,1]=(-0.677871860083)*x[0]+(-1.56756818572)*x[1]+(-0.240923946416)*x[2]
37192            arg[1,1,1,0]=(-1.05791511835)*x[0]+(-0.425827952234)*x[1]+(-1.82875340474)*x[2]
37193            arg[1,1,1,1]=(-0.430783664297)*x[0]+(0.552238591434)*x[1]+(0.502702385375)*x[2]
37194            arg[1,1,2,0]=(0.240203734777)*x[0]+(-0.0650121194654)*x[1]+(1.04662204076)*x[2]
37195            arg[1,1,2,1]=(-0.25305133215)*x[0]+(-0.31486026571)*x[1]+(-1.83073697314)*x[2]
37196            arg[1,2,0,0]=(-1.09643062195)*x[0]+(-0.437887555247)*x[1]+(-1.33970467276)*x[2]
37197            arg[1,2,0,1]=(1.24489646204)*x[0]+(1.0714412157)*x[1]+(-0.192090595585)*x[2]
37198            arg[1,2,1,0]=(0.029290840641)*x[0]+(-0.940655160496)*x[1]+(-0.820414570983)*x[2]
37199            arg[1,2,1,1]=(-0.677190307386)*x[0]+(-0.00164385522847)*x[1]+(-0.46460277293)*x[2]
37200            arg[1,2,2,0]=(-0.320006508895)*x[0]+(1.13412133331)*x[1]+(-0.619705535377)*x[2]
37201            arg[1,2,2,1]=(-0.0220330715863)*x[0]+(-0.64687567378)*x[1]+(0.0957350181768)*x[2]
37202            arg[1,3,0,0]=(-0.25073330162)*x[0]+(0.85795600432)*x[1]+(1.53293778947)*x[2]
37203            arg[1,3,0,1]=(-0.183346360622)*x[0]+(0.266035391885)*x[1]+(-0.422228348627)*x[2]
37204            arg[1,3,1,0]=(-0.41587781442)*x[0]+(-0.0103068212789)*x[1]+(0.440665738388)*x[2]
37205            arg[1,3,1,1]=(1.41825912495)*x[0]+(-0.0611650685825)*x[1]+(0.972511387093)*x[2]
37206            arg[1,3,2,0]=(-0.336532230508)*x[0]+(-0.0123275905127)*x[1]+(-0.254643420879)*x[2]
37207            arg[1,3,2,1]=(-0.365437122858)*x[0]+(0.71384297093)*x[1]+(0.447802028475)*x[2]
37208            arg[1,4,0,0]=(1.33371172009)*x[0]+(1.16948649723)*x[1]+(-0.624453779138)*x[2]
37209            arg[1,4,0,1]=(0.0919647304743)*x[0]+(1.20509307321)*x[1]+(0.454668856107)*x[2]
37210            arg[1,4,1,0]=(0.179837036326)*x[0]+(1.27470487309)*x[1]+(0.248127557917)*x[2]
37211            arg[1,4,1,1]=(-0.0163592123585)*x[0]+(-1.09373628426)*x[1]+(-1.07284707536)*x[2]
37212            arg[1,4,2,0]=(-0.0617954247638)*x[0]+(0.180336071139)*x[1]+(0.0715760255435)*x[2]
37213            arg[1,4,2,1]=(0.449148667011)*x[0]+(0.476092516356)*x[1]+(-0.235672424702)*x[2]
37214            arg[2,0,0,0]=(1.06662096238)*x[0]+(1.52079387843)*x[1]+(-0.465087313097)*x[2]
37215            arg[2,0,0,1]=(-0.0113962755891)*x[0]+(0.459517781034)*x[1]+(0.423861505703)*x[2]
37216            arg[2,0,1,0]=(1.19571956088)*x[0]+(1.02444853474)*x[1]+(-1.31054246173)*x[2]
37217            arg[2,0,1,1]=(-1.39536067914)*x[0]+(0.884184554143)*x[1]+(-0.650926411157)*x[2]
37218            arg[2,0,2,0]=(-0.328672728946)*x[0]+(1.07247782219)*x[1]+(-0.61103916867)*x[2]
37219            arg[2,0,2,1]=(0.155304775433)*x[0]+(-1.34794080729)*x[1]+(-0.931891854948)*x[2]
37220            arg[2,1,0,0]=(-0.953726622792)*x[0]+(0.483614421199)*x[1]+(1.07026616662)*x[2]
37221            arg[2,1,0,1]=(0.720797127905)*x[0]+(1.31309704242)*x[1]+(0.534213389945)*x[2]
37222            arg[2,1,1,0]=(1.12642665973)*x[0]+(-0.375134467285)*x[1]+(0.223566393552)*x[2]
37223            arg[2,1,1,1]=(-0.380892997026)*x[0]+(-0.661627351046)*x[1]+(0.596842673155)*x[2]
37224            arg[2,1,2,0]=(0.233212348554)*x[0]+(0.106673294307)*x[1]+(-0.22268427628)*x[2]
37225            arg[2,1,2,1]=(0.67982223365)*x[0]+(-1.53842407155)*x[1]+(0.995328875213)*x[2]
37226            arg[2,2,0,0]=(1.5835734841)*x[0]+(0.178824495609)*x[1]+(-0.31332770355)*x[2]
37227            arg[2,2,0,1]=(0.101063103927)*x[0]+(-0.0437670737377)*x[1]+(-0.109514170393)*x[2]
37228            arg[2,2,1,0]=(-0.892614006193)*x[0]+(0.952803608394)*x[1]+(-0.643308315526)*x[2]
37229            arg[2,2,1,1]=(-0.0606310193159)*x[0]+(-0.768822197122)*x[1]+(-1.43018654257)*x[2]
37230            arg[2,2,2,0]=(0.107463856971)*x[0]+(1.27309352669)*x[1]+(1.65234673057)*x[2]
37231            arg[2,2,2,1]=(0.699315319729)*x[0]+(-0.345960580793)*x[1]+(-1.61621444026)*x[2]
37232            arg[2,3,0,0]=(0.9761936338)*x[0]+(0.665547749873)*x[1]+(-1.07512721449)*x[2]
37233            arg[2,3,0,1]=(1.26182572924)*x[0]+(-0.416232568884)*x[1]+(-0.356737405174)*x[2]
37234            arg[2,3,1,0]=(-0.477958253427)*x[0]+(0.198049156904)*x[1]+(-0.295022782364)*x[2]
37235            arg[2,3,1,1]=(0.412187471103)*x[0]+(0.335655056628)*x[1]+(-0.0873658679329)*x[2]
37236            arg[2,3,2,0]=(0.168439409327)*x[0]+(-0.131948711409)*x[1]+(1.66777364846)*x[2]
37237            arg[2,3,2,1]=(0.508795552378)*x[0]+(-0.390505460243)*x[1]+(0.13190717559)*x[2]
37238            arg[2,4,0,0]=(0.446543094067)*x[0]+(-1.49620720862)*x[1]+(-1.23581717894)*x[2]
37239            arg[2,4,0,1]=(-0.964404449625)*x[0]+(0.229523164331)*x[1]+(-0.0829574431644)*x[2]
37240            arg[2,4,1,0]=(-0.0222885761611)*x[0]+(-0.151419169433)*x[1]+(0.0521007301341)*x[2]
37241            arg[2,4,1,1]=(-0.299232945099)*x[0]+(0.831745448311)*x[1]+(0.0354480204711)*x[2]
37242            arg[2,4,2,0]=(0.350303784953)*x[0]+(0.0608299778701)*x[1]+(1.10333111365)*x[2]
37243            arg[2,4,2,1]=(0.719573610926)*x[0]+(-0.0868905011544)*x[1]+(0.852804030732)*x[2]
37244            arg[3,0,0,0]=(0.643070908885)*x[0]+(0.846705112025)*x[1]+(-0.340473447494)*x[2]
37245            arg[3,0,0,1]=(-0.180433440729)*x[0]+(1.20490149625)*x[1]+(1.65034499912)*x[2]
37246            arg[3,0,1,0]=(-0.454239570444)*x[0]+(0.425446741192)*x[1]+(0.469566134089)*x[2]
37247            arg[3,0,1,1]=(-0.080272513364)*x[0]+(-0.437416002114)*x[1]+(0.741423922011)*x[2]
37248            arg[3,0,2,0]=(0.0202920395247)*x[0]+(0.724451134981)*x[1]+(-0.628631137287)*x[2]
37249            arg[3,0,2,1]=(1.27329890828)*x[0]+(1.32598594097)*x[1]+(-1.03893516914)*x[2]
37250            arg[3,1,0,0]=(-0.316679599208)*x[0]+(1.37172239358)*x[1]+(-0.333448830595)*x[2]
37251            arg[3,1,0,1]=(-0.97422120848)*x[0]+(-0.800596641862)*x[1]+(1.21296910893)*x[2]
37252            arg[3,1,1,0]=(-0.791725431754)*x[0]+(0.173363698424)*x[1]+(-0.137920990647)*x[2]
37253            arg[3,1,1,1]=(-0.104259554446)*x[0]+(1.14966042893)*x[1]+(0.694287361582)*x[2]
37254            arg[3,1,2,0]=(0.130345878498)*x[0]+(0.186936528352)*x[1]+(-1.74442226692)*x[2]
37255            arg[3,1,2,1]=(-0.952031053033)*x[0]+(0.718038193789)*x[1]+(-0.912958209036)*x[2]
37256            arg[3,2,0,0]=(-1.16180973047)*x[0]+(0.0107173530275)*x[1]+(1.30278786691)*x[2]
37257            arg[3,2,0,1]=(-0.224509227379)*x[0]+(0.0996327632409)*x[1]+(-0.590950424929)*x[2]
37258            arg[3,2,1,0]=(1.37202300472)*x[0]+(-1.46745698646)*x[1]+(-0.811483806572)*x[2]
37259            arg[3,2,1,1]=(1.4828065241)*x[0]+(-0.177365694124)*x[1]+(0.723931620237)*x[2]
37260            arg[3,2,2,0]=(0.230529059637)*x[0]+(0.728445639896)*x[1]+(-0.566988770509)*x[2]
37261            arg[3,2,2,1]=(0.797697737992)*x[0]+(-1.13322423945)*x[1]+(-1.1409387296)*x[2]
37262            arg[3,3,0,0]=(0.217205133789)*x[0]+(-0.510677603419)*x[1]+(-0.580535665335)*x[2]
37263            arg[3,3,0,1]=(-0.388656568244)*x[0]+(-0.906189671302)*x[1]+(0.44802765855)*x[2]
37264            arg[3,3,1,0]=(0.13492738758)*x[0]+(-0.0523341874741)*x[1]+(1.42846176777)*x[2]
37265            arg[3,3,1,1]=(0.243377010926)*x[0]+(-0.701174291473)*x[1]+(-0.756059212704)*x[2]
37266            arg[3,3,2,0]=(1.48359083301)*x[0]+(1.17692500152)*x[1]+(-0.184437593764)*x[2]
37267            arg[3,3,2,1]=(-0.105457636222)*x[0]+(-0.0190796656068)*x[1]+(-0.938560206034)*x[2]
37268            arg[3,4,0,0]=(-0.101684388703)*x[0]+(-1.19809056647)*x[1]+(1.1989510907)*x[2]
37269            arg[3,4,0,1]=(-1.0745487924)*x[0]+(-0.37560532919)*x[1]+(-0.967022985879)*x[2]
37270            arg[3,4,1,0]=(0.315585027641)*x[0]+(-0.238716421886)*x[1]+(-0.275850551625)*x[2]
37271            arg[3,4,1,1]=(-0.824271180248)*x[0]+(-0.0649845724269)*x[1]+(0.530472696035)*x[2]
37272            arg[3,4,2,0]=(-0.518165130932)*x[0]+(1.44722596827)*x[1]+(0.072367534289)*x[2]
37273            arg[3,4,2,1]=(-0.247477354356)*x[0]+(0.988584526142)*x[1]+(0.0491978506036)*x[2]
37274            ref[0,0,0,0]=(0.523374388946)*x_ref[0]+(-0.462029311047)*x_ref[1]+(-0.47732568751)*x_ref[2]
37275            ref[0,0,0,1]=(0.641437288282)*x_ref[0]+(-0.245967769804)*x_ref[1]+(-0.882711488334)*x_ref[2]
37276            ref[0,0,1,0]=(-0.039075405101)*x_ref[0]+(0.233479040723)*x_ref[1]+(-0.450244284473)*x_ref[2]
37277            ref[0,0,1,1]=(-1.00711630706)*x_ref[0]+(-0.247720707527)*x_ref[1]+(-0.597073422746)*x_ref[2]
37278            ref[0,0,2,0]=(0.141738833983)*x_ref[0]+(-1.34846391496)*x_ref[1]+(0.214891803475)*x_ref[2]
37279            ref[0,0,2,1]=(0.276967719755)*x_ref[0]+(-0.64300940909)*x_ref[1]+(-1.10068852616)*x_ref[2]
37280            ref[0,1,0,0]=(0.438911917989)*x_ref[0]+(0.588137625057)*x_ref[1]+(0.744848057181)*x_ref[2]
37281            ref[0,1,0,1]=(0.266343859518)*x_ref[0]+(1.24092635599)*x_ref[1]+(0.477206170905)*x_ref[2]
37282            ref[0,1,1,0]=(0.328857688358)*x_ref[0]+(-1.17720038645)*x_ref[1]+(0.285045368661)*x_ref[2]
37283            ref[0,1,1,1]=(-0.0985505878353)*x_ref[0]+(1.11228710542)*x_ref[1]+(0.159347839514)*x_ref[2]
37284            ref[0,1,2,0]=(0.125378210814)*x_ref[0]+(1.51252392793)*x_ref[1]+(-0.0402281595871)*x_ref[2]
37285            ref[0,1,2,1]=(-1.41964435548)*x_ref[0]+(0.825108246489)*x_ref[1]+(0.31679169508)*x_ref[2]
37286            ref[0,2,0,0]=(1.47728541117)*x_ref[0]+(0.957708443424)*x_ref[1]+(-0.187892562217)*x_ref[2]
37287            ref[0,2,0,1]=(0.0614505001405)*x_ref[0]+(0.144444072992)*x_ref[1]+(0.287839563179)*x_ref[2]
37288            ref[0,2,1,0]=(0.512698173313)*x_ref[0]+(0.316852993542)*x_ref[1]+(0.538020705489)*x_ref[2]
37289            ref[0,2,1,1]=(-0.349895838053)*x_ref[0]+(1.50602760725)*x_ref[1]+(-0.959979406715)*x_ref[2]
37290            ref[0,2,2,0]=(-0.618802027626)*x_ref[0]+(0.71544179402)*x_ref[1]+(1.09297898989)*x_ref[2]
37291            ref[0,2,2,1]=(-0.264932530879)*x_ref[0]+(-1.4100323815)*x_ref[1]+(-1.28423925034)*x_ref[2]
37292            ref[0,3,0,0]=(0.481724893561)*x_ref[0]+(-0.546248388253)*x_ref[1]+(-0.214332802735)*x_ref[2]
37293            ref[0,3,0,1]=(-1.33293479098)*x_ref[0]+(0.989294320484)*x_ref[1]+(-0.561974021785)*x_ref[2]
37294            ref[0,3,1,0]=(-0.394718780001)*x_ref[0]+(1.0043343416)*x_ref[1]+(1.51370839793)*x_ref[2]
37295            ref[0,3,1,1]=(1.08238957373)*x_ref[0]+(0.591631122094)*x_ref[1]+(0.075283954318)*x_ref[2]
37296            ref[0,3,2,0]=(-1.0250149161)*x_ref[0]+(-0.739848118412)*x_ref[1]+(0.736595112789)*x_ref[2]
37297            ref[0,3,2,1]=(-1.08033009366)*x_ref[0]+(-0.574926147021)*x_ref[1]+(0.421251948724)*x_ref[2]
37298            ref[0,4,0,0]=(-0.0894466241931)*x_ref[0]+(1.14935896473)*x_ref[1]+(-0.490410015077)*x_ref[2]
37299            ref[0,4,0,1]=(1.07777309372)*x_ref[0]+(1.0672971936)*x_ref[1]+(0.340143160972)*x_ref[2]
37300            ref[0,4,1,0]=(0.905553949676)*x_ref[0]+(0.171320798438)*x_ref[1]+(1.83634812891)*x_ref[2]
37301            ref[0,4,1,1]=(-0.663516264963)*x_ref[0]+(0.14871937304)*x_ref[1]+(-0.697949666962)*x_ref[2]
37302            ref[0,4,2,0]=(1.41806579095)*x_ref[0]+(0.0357313086623)*x_ref[1]+(0.110846683649)*x_ref[2]
37303            ref[0,4,2,1]=(-0.31919270211)*x_ref[0]+(-1.651049084)*x_ref[1]+(-1.47528307262)*x_ref[2]
37304            ref[1,0,0,0]=(0.167209321535)*x_ref[0]+(-1.13066332212)*x_ref[1]+(0.209489173491)*x_ref[2]
37305            ref[1,0,0,1]=(1.45770122794)*x_ref[0]+(1.12024118263)*x_ref[1]+(0.0203526002602)*x_ref[2]
37306            ref[1,0,1,0]=(0.180403238696)*x_ref[0]+(0.580625819717)*x_ref[1]+(-1.00882441351)*x_ref[2]
37307            ref[1,0,1,1]=(-0.20671421669)*x_ref[0]+(-0.199445466326)*x_ref[1]+(0.887365974398)*x_ref[2]
37308            ref[1,0,2,0]=(-0.0109233374932)*x_ref[0]+(0.835241335188)*x_ref[1]+(-0.810658050514)*x_ref[2]
37309            ref[1,0,2,1]=(-1.45991974539)*x_ref[0]+(0.955399748215)*x_ref[1]+(0.398673469474)*x_ref[2]
37310            ref[1,1,0,0]=(0.726687414113)*x_ref[0]+(-1.35343793545)*x_ref[1]+(0.750079540417)*x_ref[2]
37311            ref[1,1,0,1]=(-0.677871860083)*x_ref[0]+(-1.56756818572)*x_ref[1]+(-0.240923946416)*x_ref[2]
37312            ref[1,1,1,0]=(-1.05791511835)*x_ref[0]+(-0.425827952234)*x_ref[1]+(-1.82875340474)*x_ref[2]
37313            ref[1,1,1,1]=(-0.430783664297)*x_ref[0]+(0.552238591434)*x_ref[1]+(0.502702385375)*x_ref[2]
37314            ref[1,1,2,0]=(0.240203734777)*x_ref[0]+(-0.0650121194654)*x_ref[1]+(1.04662204076)*x_ref[2]
37315            ref[1,1,2,1]=(-0.25305133215)*x_ref[0]+(-0.31486026571)*x_ref[1]+(-1.83073697314)*x_ref[2]
37316            ref[1,2,0,0]=(-1.09643062195)*x_ref[0]+(-0.437887555247)*x_ref[1]+(-1.33970467276)*x_ref[2]
37317            ref[1,2,0,1]=(1.24489646204)*x_ref[0]+(1.0714412157)*x_ref[1]+(-0.192090595585)*x_ref[2]
37318            ref[1,2,1,0]=(0.029290840641)*x_ref[0]+(-0.940655160496)*x_ref[1]+(-0.820414570983)*x_ref[2]
37319            ref[1,2,1,1]=(-0.677190307386)*x_ref[0]+(-0.00164385522847)*x_ref[1]+(-0.46460277293)*x_ref[2]
37320            ref[1,2,2,0]=(-0.320006508895)*x_ref[0]+(1.13412133331)*x_ref[1]+(-0.619705535377)*x_ref[2]
37321            ref[1,2,2,1]=(-0.0220330715863)*x_ref[0]+(-0.64687567378)*x_ref[1]+(0.0957350181768)*x_ref[2]
37322            ref[1,3,0,0]=(-0.25073330162)*x_ref[0]+(0.85795600432)*x_ref[1]+(1.53293778947)*x_ref[2]
37323            ref[1,3,0,1]=(-0.183346360622)*x_ref[0]+(0.266035391885)*x_ref[1]+(-0.422228348627)*x_ref[2]
37324            ref[1,3,1,0]=(-0.41587781442)*x_ref[0]+(-0.0103068212789)*x_ref[1]+(0.440665738388)*x_ref[2]
37325            ref[1,3,1,1]=(1.41825912495)*x_ref[0]+(-0.0611650685825)*x_ref[1]+(0.972511387093)*x_ref[2]
37326            ref[1,3,2,0]=(-0.336532230508)*x_ref[0]+(-0.0123275905127)*x_ref[1]+(-0.254643420879)*x_ref[2]
37327            ref[1,3,2,1]=(-0.365437122858)*x_ref[0]+(0.71384297093)*x_ref[1]+(0.447802028475)*x_ref[2]
37328            ref[1,4,0,0]=(1.33371172009)*x_ref[0]+(1.16948649723)*x_ref[1]+(-0.624453779138)*x_ref[2]
37329            ref[1,4,0,1]=(0.0919647304743)*x_ref[0]+(1.20509307321)*x_ref[1]+(0.454668856107)*x_ref[2]
37330            ref[1,4,1,0]=(0.179837036326)*x_ref[0]+(1.27470487309)*x_ref[1]+(0.248127557917)*x_ref[2]
37331            ref[1,4,1,1]=(-0.0163592123585)*x_ref[0]+(-1.09373628426)*x_ref[1]+(-1.07284707536)*x_ref[2]
37332            ref[1,4,2,0]=(-0.0617954247638)*x_ref[0]+(0.180336071139)*x_ref[1]+(0.0715760255435)*x_ref[2]
37333            ref[1,4,2,1]=(0.449148667011)*x_ref[0]+(0.476092516356)*x_ref[1]+(-0.235672424702)*x_ref[2]
37334            ref[2,0,0,0]=(1.06662096238)*x_ref[0]+(1.52079387843)*x_ref[1]+(-0.465087313097)*x_ref[2]
37335            ref[2,0,0,1]=(-0.0113962755891)*x_ref[0]+(0.459517781034)*x_ref[1]+(0.423861505703)*x_ref[2]
37336            ref[2,0,1,0]=(1.19571956088)*x_ref[0]+(1.02444853474)*x_ref[1]+(-1.31054246173)*x_ref[2]
37337            ref[2,0,1,1]=(-1.39536067914)*x_ref[0]+(0.884184554143)*x_ref[1]+(-0.650926411157)*x_ref[2]
37338            ref[2,0,2,0]=(-0.328672728946)*x_ref[0]+(1.07247782219)*x_ref[1]+(-0.61103916867)*x_ref[2]
37339            ref[2,0,2,1]=(0.155304775433)*x_ref[0]+(-1.34794080729)*x_ref[1]+(-0.931891854948)*x_ref[2]
37340            ref[2,1,0,0]=(-0.953726622792)*x_ref[0]+(0.483614421199)*x_ref[1]+(1.07026616662)*x_ref[2]
37341            ref[2,1,0,1]=(0.720797127905)*x_ref[0]+(1.31309704242)*x_ref[1]+(0.534213389945)*x_ref[2]
37342            ref[2,1,1,0]=(1.12642665973)*x_ref[0]+(-0.375134467285)*x_ref[1]+(0.223566393552)*x_ref[2]
37343            ref[2,1,1,1]=(-0.380892997026)*x_ref[0]+(-0.661627351046)*x_ref[1]+(0.596842673155)*x_ref[2]
37344            ref[2,1,2,0]=(0.233212348554)*x_ref[0]+(0.106673294307)*x_ref[1]+(-0.22268427628)*x_ref[2]
37345            ref[2,1,2,1]=(0.67982223365)*x_ref[0]+(-1.53842407155)*x_ref[1]+(0.995328875213)*x_ref[2]
37346            ref[2,2,0,0]=(1.5835734841)*x_ref[0]+(0.178824495609)*x_ref[1]+(-0.31332770355)*x_ref[2]
37347            ref[2,2,0,1]=(0.101063103927)*x_ref[0]+(-0.0437670737377)*x_ref[1]+(-0.109514170393)*x_ref[2]
37348            ref[2,2,1,0]=(-0.892614006193)*x_ref[0]+(0.952803608394)*x_ref[1]+(-0.643308315526)*x_ref[2]
37349            ref[2,2,1,1]=(-0.0606310193159)*x_ref[0]+(-0.768822197122)*x_ref[1]+(-1.43018654257)*x_ref[2]
37350            ref[2,2,2,0]=(0.107463856971)*x_ref[0]+(1.27309352669)*x_ref[1]+(1.65234673057)*x_ref[2]
37351            ref[2,2,2,1]=(0.699315319729)*x_ref[0]+(-0.345960580793)*x_ref[1]+(-1.61621444026)*x_ref[2]
37352            ref[2,3,0,0]=(0.9761936338)*x_ref[0]+(0.665547749873)*x_ref[1]+(-1.07512721449)*x_ref[2]
37353            ref[2,3,0,1]=(1.26182572924)*x_ref[0]+(-0.416232568884)*x_ref[1]+(-0.356737405174)*x_ref[2]
37354            ref[2,3,1,0]=(-0.477958253427)*x_ref[0]+(0.198049156904)*x_ref[1]+(-0.295022782364)*x_ref[2]
37355            ref[2,3,1,1]=(0.412187471103)*x_ref[0]+(0.335655056628)*x_ref[1]+(-0.0873658679329)*x_ref[2]
37356            ref[2,3,2,0]=(0.168439409327)*x_ref[0]+(-0.131948711409)*x_ref[1]+(1.66777364846)*x_ref[2]
37357            ref[2,3,2,1]=(0.508795552378)*x_ref[0]+(-0.390505460243)*x_ref[1]+(0.13190717559)*x_ref[2]
37358            ref[2,4,0,0]=(0.446543094067)*x_ref[0]+(-1.49620720862)*x_ref[1]+(-1.23581717894)*x_ref[2]
37359            ref[2,4,0,1]=(-0.964404449625)*x_ref[0]+(0.229523164331)*x_ref[1]+(-0.0829574431644)*x_ref[2]
37360            ref[2,4,1,0]=(-0.0222885761611)*x_ref[0]+(-0.151419169433)*x_ref[1]+(0.0521007301341)*x_ref[2]
37361            ref[2,4,1,1]=(-0.299232945099)*x_ref[0]+(0.831745448311)*x_ref[1]+(0.0354480204711)*x_ref[2]
37362            ref[2,4,2,0]=(0.350303784953)*x_ref[0]+(0.0608299778701)*x_ref[1]+(1.10333111365)*x_ref[2]
37363            ref[2,4,2,1]=(0.719573610926)*x_ref[0]+(-0.0868905011544)*x_ref[1]+(0.852804030732)*x_ref[2]
37364            ref[3,0,0,0]=(0.643070908885)*x_ref[0]+(0.846705112025)*x_ref[1]+(-0.340473447494)*x_ref[2]
37365            ref[3,0,0,1]=(-0.180433440729)*x_ref[0]+(1.20490149625)*x_ref[1]+(1.65034499912)*x_ref[2]
37366            ref[3,0,1,0]=(-0.454239570444)*x_ref[0]+(0.425446741192)*x_ref[1]+(0.469566134089)*x_ref[2]
37367            ref[3,0,1,1]=(-0.080272513364)*x_ref[0]+(-0.437416002114)*x_ref[1]+(0.741423922011)*x_ref[2]
37368            ref[3,0,2,0]=(0.0202920395247)*x_ref[0]+(0.724451134981)*x_ref[1]+(-0.628631137287)*x_ref[2]
37369            ref[3,0,2,1]=(1.27329890828)*x_ref[0]+(1.32598594097)*x_ref[1]+(-1.03893516914)*x_ref[2]
37370            ref[3,1,0,0]=(-0.316679599208)*x_ref[0]+(1.37172239358)*x_ref[1]+(-0.333448830595)*x_ref[2]
37371            ref[3,1,0,1]=(-0.97422120848)*x_ref[0]+(-0.800596641862)*x_ref[1]+(1.21296910893)*x_ref[2]
37372            ref[3,1,1,0]=(-0.791725431754)*x_ref[0]+(0.173363698424)*x_ref[1]+(-0.137920990647)*x_ref[2]
37373            ref[3,1,1,1]=(-0.104259554446)*x_ref[0]+(1.14966042893)*x_ref[1]+(0.694287361582)*x_ref[2]
37374            ref[3,1,2,0]=(0.130345878498)*x_ref[0]+(0.186936528352)*x_ref[1]+(-1.74442226692)*x_ref[2]
37375            ref[3,1,2,1]=(-0.952031053033)*x_ref[0]+(0.718038193789)*x_ref[1]+(-0.912958209036)*x_ref[2]
37376            ref[3,2,0,0]=(-1.16180973047)*x_ref[0]+(0.0107173530275)*x_ref[1]+(1.30278786691)*x_ref[2]
37377            ref[3,2,0,1]=(-0.224509227379)*x_ref[0]+(0.0996327632409)*x_ref[1]+(-0.590950424929)*x_ref[2]
37378            ref[3,2,1,0]=(1.37202300472)*x_ref[0]+(-1.46745698646)*x_ref[1]+(-0.811483806572)*x_ref[2]
37379            ref[3,2,1,1]=(1.4828065241)*x_ref[0]+(-0.177365694124)*x_ref[1]+(0.723931620237)*x_ref[2]
37380            ref[3,2,2,0]=(0.230529059637)*x_ref[0]+(0.728445639896)*x_ref[1]+(-0.566988770509)*x_ref[2]
37381            ref[3,2,2,1]=(0.797697737992)*x_ref[0]+(-1.13322423945)*x_ref[1]+(-1.1409387296)*x_ref[2]
37382            ref[3,3,0,0]=(0.217205133789)*x_ref[0]+(-0.510677603419)*x_ref[1]+(-0.580535665335)*x_ref[2]
37383            ref[3,3,0,1]=(-0.388656568244)*x_ref[0]+(-0.906189671302)*x_ref[1]+(0.44802765855)*x_ref[2]
37384            ref[3,3,1,0]=(0.13492738758)*x_ref[0]+(-0.0523341874741)*x_ref[1]+(1.42846176777)*x_ref[2]
37385            ref[3,3,1,1]=(0.243377010926)*x_ref[0]+(-0.701174291473)*x_ref[1]+(-0.756059212704)*x_ref[2]
37386            ref[3,3,2,0]=(1.48359083301)*x_ref[0]+(1.17692500152)*x_ref[1]+(-0.184437593764)*x_ref[2]
37387            ref[3,3,2,1]=(-0.105457636222)*x_ref[0]+(-0.0190796656068)*x_ref[1]+(-0.938560206034)*x_ref[2]
37388            ref[3,4,0,0]=(-0.101684388703)*x_ref[0]+(-1.19809056647)*x_ref[1]+(1.1989510907)*x_ref[2]
37389            ref[3,4,0,1]=(-1.0745487924)*x_ref[0]+(-0.37560532919)*x_ref[1]+(-0.967022985879)*x_ref[2]
37390            ref[3,4,1,0]=(0.315585027641)*x_ref[0]+(-0.238716421886)*x_ref[1]+(-0.275850551625)*x_ref[2]
37391            ref[3,4,1,1]=(-0.824271180248)*x_ref[0]+(-0.0649845724269)*x_ref[1]+(0.530472696035)*x_ref[2]
37392            ref[3,4,2,0]=(-0.518165130932)*x_ref[0]+(1.44722596827)*x_ref[1]+(0.072367534289)*x_ref[2]
37393            ref[3,4,2,1]=(-0.247477354356)*x_ref[0]+(0.988584526142)*x_ref[1]+(0.0491978506036)*x_ref[2]
37394          res=interpolate(arg,where=w_ref)
37395          self.failUnless(isinstance(res,Data),"wrong type of result.")
37396          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
37397          self.failUnlessEqual(res.getShape(),(4, 5, 3, 2),"wrong shape of result.")
37398          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
37399       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
37400       def test_interpolate_onFunction_fromData_Function_rank0(self):
37401          """
37402          tests interpolate for rank 0 Data onto the Function
37403    
37404          assumptions: self.domain supports inpterpolation from Function onto Function
37405          """
37406          o=self.order
37407          dim=self.domain.getDim()
37408          w_ref=Function(self.domain)
37409          x_ref=w_ref.getX()
37410          w=Function(self.domain)
37411          x=w.getX()
37412          arg=Data(0,(),w)
37413          ref=Data(0,(),w_ref)
37414          if dim==2:
37415            arg=(0.0969659653911)*x[0]**o+(-0.0778467995236)*x[0]+(-0.896520347956)*x[1]**o+(0.452579859858)*x[1]
37416            ref=(0.0969659653911)*x_ref[0]**o+(-0.0778467995236)*x_ref[0]+(-0.896520347956)*x_ref[1]**o+(0.452579859858)*x_ref[1]
37417          else:
37418            arg=(-0.62506591451)*x[0]**o+(0.970735975624)*x[0]+(-0.563055321362)*x[1]**o+(-0.281482915069)*x[1]+(-0.6461258967)*x[2]**o+(0.786610350609)*x[2]
37419            ref=(-0.62506591451)*x_ref[0]**o+(0.970735975624)*x_ref[0]+(-0.563055321362)*x_ref[1]**o+(-0.281482915069)*x_ref[1]+(-0.6461258967)*x_ref[2]**o+(0.786610350609)*x_ref[2]
37420          res=interpolate(arg,where=w_ref)
37421          self.failUnless(isinstance(res,Data),"wrong type of result.")
37422          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
37423          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
37424          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
37425       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
37426       def test_interpolate_onFunction_fromData_Function_rank1(self):
37427          """
37428          tests interpolate for rank 1 Data onto the Function
37429    
37430          assumptions: self.domain supports inpterpolation from Function onto Function
37431          """
37432          o=self.order
37433          dim=self.domain.getDim()
37434          w_ref=Function(self.domain)
37435          x_ref=w_ref.getX()
37436          w=Function(self.domain)
37437          x=w.getX()
37438          arg=Data(0,(2,),w)
37439          ref=Data(0,(2,),w_ref)
37440          if dim==2:
37441            arg[0]=(0.725240039321)*x[0]**o+(0.326302203613)*x[0]+(0.356072156898)*x[1]**o+(0.980066388307)*x[1]
37442            arg[1]=(0.171551389095)*x[0]**o+(0.379133470853)*x[0]+(0.120608077039)*x[1]**o+(-0.413701037132)*x[1]
37443            ref[0]=(0.725240039321)*x_ref[0]**o+(0.326302203613)*x_ref[0]+(0.356072156898)*x_ref[1]**o+(0.980066388307)*x_ref[1]
37444            ref[1]=(0.171551389095)*x_ref[0]**o+(0.379133470853)*x_ref[0]+(0.120608077039)*x_ref[1]**o+(-0.413701037132)*x_ref[1]
37445          else:
37446            arg[0]=(-0.656095745624)*x[0]**o+(-0.540430373724)*x[0]+(-0.109962817674)*x[1]**o+(-0.969692783268)*x[1]+(-0.377994841279)*x[2]**o+(-0.664035030664)*x[2]
37447            arg[1]=(0.768498465456)*x[0]**o+(0.647294499552)*x[0]+(0.824672861058)*x[1]**o+(-0.848088780836)*x[1]+(0.045558138597)*x[2]**o+(-0.209365900036)*x[2]
37448            ref[0]=(-0.656095745624)*x_ref[0]**o+(-0.540430373724)*x_ref[0]+(-0.109962817674)*x_ref[1]**o+(-0.969692783268)*x_ref[1]+(-0.377994841279)*x_ref[2]**o+(-0.664035030664)*x_ref[2]
37449            ref[1]=(0.768498465456)*x_ref[0]**o+(0.647294499552)*x_ref[0]+(0.824672861058)*x_ref[1]**o+(-0.848088780836)*x_ref[1]+(0.045558138597)*x_ref[2]**o+(-0.209365900036)*x_ref[2]
37450          res=interpolate(arg,where=w_ref)
37451          self.failUnless(isinstance(res,Data),"wrong type of result.")
37452          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
37453          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
37454          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
37455       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
37456       def test_interpolate_onFunction_fromData_Function_rank2(self):
37457          """
37458          tests interpolate for rank 2 Data onto the Function
37459    
37460          assumptions: self.domain supports inpterpolation from Function onto Function
37461          """
37462          o=self.order
37463          dim=self.domain.getDim()
37464          w_ref=Function(self.domain)
37465          x_ref=w_ref.getX()
37466          w=Function(self.domain)
37467          x=w.getX()
37468          arg=Data(0,(4, 5),w)
37469          ref=Data(0,(4, 5),w_ref)
37470          if dim==2:
37471            arg[0,0]=(0.694866182164)*x[0]**o+(0.759641527396)*x[0]+(-0.696641139757)*x[1]**o+(0.617978953453)*x[1]
37472            arg[0,1]=(0.75058922213)*x[0]**o+(0.580832851854)*x[0]+(-0.237039031011)*x[1]**o+(0.53518450519)*x[1]
37473            arg[0,2]=(-0.191933019173)*x[0]**o+(-0.0638088686782)*x[0]+(0.871645336149)*x[1]**o+(0.256502442034)*x[1]
37474            arg[0,3]=(0.829189580591)*x[0]**o+(0.186064016504)*x[0]+(-0.204496850484)*x[1]**o+(-0.314535598074)*x[1]
37475            arg[0,4]=(0.170968249419)*x[0]**o+(-0.719959835105)*x[0]+(0.367000223059)*x[1]**o+(-0.210239222752)*x[1]
37476            arg[1,0]=(-0.424311493894)*x[0]**o+(-0.381097143579)*x[0]+(-0.54925292526)*x[1]**o+(-0.393349131169)*x[1]
37477            arg[1,1]=(0.148181508143)*x[0]**o+(-0.224530937841)*x[0]+(0.778748719265)*x[1]**o+(-0.522104185968)*x[1]
37478            arg[1,2]=(0.134819103337)*x[0]**o+(0.0388165865124)*x[0]+(-0.772318490115)*x[1]**o+(-0.928611227188)*x[1]
37479            arg[1,3]=(0.790807030518)*x[0]**o+(-0.849964960983)*x[0]+(-0.79407080953)*x[1]**o+(-0.626315155005)*x[1]
37480            arg[1,4]=(-0.998842104726)*x[0]**o+(-0.325938405818)*x[0]+(-0.81445420822)*x[1]**o+(0.868281547664)*x[1]
37481            arg[2,0]=(-0.975572739854)*x[0]**o+(-0.0630975707316)*x[0]+(0.0688031679656)*x[1]**o+(0.557152464527)*x[1]
37482            arg[2,1]=(0.389814261767)*x[0]**o+(0.523891881188)*x[0]+(-0.558388242102)*x[1]**o+(-0.45720905598)*x[1]
37483            arg[2,2]=(0.763327517145)*x[0]**o+(0.637954909904)*x[0]+(0.407602154355)*x[1]**o+(0.707118271445)*x[1]
37484            arg[2,3]=(-0.823371482965)*x[0]**o+(0.918685041464)*x[0]+(0.991991462022)*x[1]**o+(0.489892661208)*x[1]
37485            arg[2,4]=(-0.661567455889)*x[0]**o+(-0.00566795402284)*x[0]+(0.86705493299)*x[1]**o+(0.00158321121677)*x[1]
37486            arg[3,0]=(0.365456232671)*x[0]**o+(-0.587373381962)*x[0]+(0.751291631507)*x[1]**o+(-0.0605248375222)*x[1]
37487            arg[3,1]=(0.546630294768)*x[0]**o+(-0.903068297271)*x[0]+(0.486313468693)*x[1]**o+(0.355322343068)*x[1]
37488            arg[3,2]=(0.233755056849)*x[0]**o+(-0.350375425427)*x[0]+(0.0115435986629)*x[1]**o+(-0.713895312694)*x[1]
37489            arg[3,3]=(0.385411302842)*x[0]**o+(0.0733743700003)*x[0]+(0.439219708301)*x[1]**o+(0.129391539278)*x[1]
37490            arg[3,4]=(-0.194268604537)*x[0]**o+(0.175829932738)*x[0]+(0.866342013931)*x[1]**o+(-0.213891435501)*x[1]
37491            ref[0,0]=(0.694866182164)*x_ref[0]**o+(0.759641527396)*x_ref[0]+(-0.696641139757)*x_ref[1]**o+(0.617978953453)*x_ref[1]
37492            ref[0,1]=(0.75058922213)*x_ref[0]**o+(0.580832851854)*x_ref[0]+(-0.237039031011)*x_ref[1]**o+(0.53518450519)*x_ref[1]
37493            ref[0,2]=(-0.191933019173)*x_ref[0]**o+(-0.0638088686782)*x_ref[0]+(0.871645336149)*x_ref[1]**o+(0.256502442034)*x_ref[1]
37494            ref[0,3]=(0.829189580591)*x_ref[0]**o+(0.186064016504)*x_ref[0]+(-0.204496850484)*x_ref[1]**o+(-0.314535598074)*x_ref[1]
37495            ref[0,4]=(0.170968249419)*x_ref[0]**o+(-0.719959835105)*x_ref[0]+(0.367000223059)*x_ref[1]**o+(-0.210239222752)*x_ref[1]
37496            ref[1,0]=(-0.424311493894)*x_ref[0]**o+(-0.381097143579)*x_ref[0]+(-0.54925292526)*x_ref[1]**o+(-0.393349131169)*x_ref[1]
37497            ref[1,1]=(0.148181508143)*x_ref[0]**o+(-0.224530937841)*x_ref[0]+(0.778748719265)*x_ref[1]**o+(-0.522104185968)*x_ref[1]
37498            ref[1,2]=(0.134819103337)*x_ref[0]**o+(0.0388165865124)*x_ref[0]+(-0.772318490115)*x_ref[1]**o+(-0.928611227188)*x_ref[1]
37499            ref[1,3]=(0.790807030518)*x_ref[0]**o+(-0.849964960983)*x_ref[0]+(-0.79407080953)*x_ref[1]**o+(-0.626315155005)*x_ref[1]
37500            ref[1,4]=(-0.998842104726)*x_ref[0]**o+(-0.325938405818)*x_ref[0]+(-0.81445420822)*x_ref[1]**o+(0.868281547664)*x_ref[1]
37501            ref[2,0]=(-0.975572739854)*x_ref[0]**o+(-0.0630975707316)*x_ref[0]+(0.0688031679656)*x_ref[1]**o+(0.557152464527)*x_ref[1]
37502            ref[2,1]=(0.389814261767)*x_ref[0]**o+(0.523891881188)*x_ref[0]+(-0.558388242102)*x_ref[1]**o+(-0.45720905598)*x_ref[1]
37503            ref[2,2]=(0.763327517145)*x_ref[0]**o+(0.637954909904)*x_ref[0]+(0.407602154355)*x_ref[1]**o+(0.707118271445)*x_ref[1]
37504            ref[2,3]=(-0.823371482965)*x_ref[0]**o+(0.918685041464)*x_ref[0]+(0.991991462022)*x_ref[1]**o+(0.489892661208)*x_ref[1]
37505            ref[2,4]=(-0.661567455889)*x_ref[0]**o+(-0.00566795402284)*x_ref[0]+(0.86705493299)*x_ref[1]**o+(0.00158321121677)*x_ref[1]
37506            ref[3,0]=(0.365456232671)*x_ref[0]**o+(-0.587373381962)*x_ref[0]+(0.751291631507)*x_ref[1]**o+(-0.0605248375222)*x_ref[1]
37507            ref[3,1]=(0.546630294768)*x_ref[0]**o+(-0.903068297271)*x_ref[0]+(0.486313468693)*x_ref[1]**o+(0.355322343068)*x_ref[1]
37508            ref[3,2]=(0.233755056849)*x_ref[0]**o+(-0.350375425427)*x_ref[0]+(0.0115435986629)*x_ref[1]**o+(-0.713895312694)*x_ref[1]
37509            ref[3,3]=(0.385411302842)*x_ref[0]**o+(0.0733743700003)*x_ref[0]+(0.439219708301)*x_ref[1]**o+(0.129391539278)*x_ref[1]
37510            ref[3,4]=(-0.194268604537)*x_ref[0]**o+(0.175829932738)*x_ref[0]+(0.866342013931)*x_ref[1]**o+(-0.213891435501)*x_ref[1]
37511          else:
37512            arg[0,0]=(-0.479138946804)*x[0]**o+(0.240408443007)*x[0]+(0.309155796205)*x[1]**o+(-0.124360991957)*x[1]+(0.00301047542037)*x[2]**o+(-0.039439802799)*x[2]
37513            arg[0,1]=(0.41979402771)*x[0]**o+(0.798738902847)*x[0]+(0.619960746922)*x[1]**o+(-0.551662130664)*x[1]+(0.914293623695)*x[2]**o+(0.6859768812)*x[2]
37514            arg[0,2]=(0.744593492696)*x[0]**o+(-0.31743031745)*x[0]+(0.389545123971)*x[1]**o+(0.592024987288)*x[1]+(0.63456095022)*x[2]**o+(-0.746571796061)*x[2]
37515            arg[0,3]=(-0.632549503649)*x[0]**o+(-0.687745599598)*x[0]+(0.794176042123)*x[1]**o+(-0.971466375953)*x[1]+(-0.086939632062)*x[2]**o+(0.373736042024)*x[2]
37516            arg[0,4]=(-0.966879538217)*x[0]**o+(-0.609291970974)*x[0]+(0.000409196978095)*x[1]**o+(0.623934484362)*x[1]+(-0.1694749999)*x[2]**o+(0.131778917979)*x[2]
37517            arg[1,0]=(0.763452444611)*x[0]**o+(0.805147582411)*x[0]+(0.999704124146)*x[1]**o+(0.0635253753138)*x[1]+(-0.717889410548)*x[2]**o+(-0.840765968423)*x[2]
37518            arg[1,1]=(-0.26910479702)*x[0]**o+(0.594093239771)*x[0]+(-0.536150372834)*x[1]**o+(-0.768506263316)*x[1]+(-0.924510063594)*x[2]**o+(-0.950568839784)*x[2]
37519            arg[1,2]=(-0.452317334239)*x[0]**o+(0.186343827048)*x[0]+(0.921015823436)*x[1]**o+(-0.656809197675)*x[1]+(-0.841898648461)*x[2]**o+(0.267827136605)*x[2]
37520            arg[1,3]=(-0.880873336233)*x[0]**o+(-0.915350352959)*x[0]+(0.92197459758)*x[1]**o+(0.20861139921)*x[1]+(0.776743964515)*x[2]**o+(0.858569288507)*x[2]
37521            arg[1,4]=(0.422773256864)*x[0]**o+(0.397743860671)*x[0]+(0.726470981309)*x[1]**o+(-0.233534612019)*x[1]+(-0.350345927201)*x[2]**o+(-0.192294374344)*x[2]
37522            arg[2,0]=(0.0706785590906)*x[0]**o+(-0.102098736751)*x[0]+(-0.858298802695)*x[1]**o+(-0.1390708698)*x[1]+(0.221129390442)*x[2]**o+(0.770148745174)*x[2]
37523            arg[2,1]=(0.619559141603)*x[0]**o+(-0.969165124767)*x[0]+(0.36662839455)*x[1]**o+(0.505630485999)*x[1]+(0.170716012487)*x[2]**o+(0.355457960368)*x[2]
37524            arg[2,2]=(0.254098998564)*x[0]**o+(0.725662782597)*x[0]+(0.274108937869)*x[1]**o+(0.682336753679)*x[1]+(-0.858192561327)*x[2]**o+(-0.538785359078)*x[2]
37525            arg[2,3]=(0.25513729674)*x[0]**o+(-0.594968324608)*x[0]+(-0.306612686559)*x[1]**o+(-0.953891015684)*x[1]+(-0.00631658753287)*x[2]**o+(-0.889694464702)*x[2]
37526            arg[2,4]=(0.654463492789)*x[0]**o+(-0.42220702047)*x[0]+(-0.690125229151)*x[1]**o+(0.318923837754)*x[1]+(-0.691341299676)*x[2]**o+(0.824631778823)*x[2]
37527            arg[3,0]=(-0.576563725107)*x[0]**o+(-0.0354219245402)*x[0]+(0.650854296808)*x[1]**o+(0.930072736771)*x[1]+(0.8383657117)*x[2]**o+(0.191293272146)*x[2]
37528            arg[3,1]=(0.104382485594)*x[0]**o+(-0.718025390561)*x[0]+(-0.822188446684)*x[1]**o+(-0.0772502664782)*x[1]+(-0.513331680922)*x[2]**o+(0.164340503698)*x[2]
37529            arg[3,2]=(0.685178273481)*x[0]**o+(-0.241726920352)*x[0]+(-0.891512838953)*x[1]**o+(-0.428833037662)*x[1]+(-0.910220899771)*x[2]**o+(-0.0109246344661)*x[2]
37530            arg[3,3]=(-0.294769406995)*x[0]**o+(0.643502505933)*x[0]+(0.309444282121)*x[1]**o+(-0.935318923262)*x[1]+(0.242426961867)*x[2]**o+(-0.417268637067)*x[2]
37531            arg[3,4]=(0.0382306334841)*x[0]**o+(-0.564858278904)*x[0]+(-0.594566652327)*x[1]**o+(0.911894434818)*x[1]+(-0.314178793024)*x[2]**o+(0.302730333267)*x[2]
37532            ref[0,0]=(-0.479138946804)*x_ref[0]**o+(0.240408443007)*x_ref[0]+(0.309155796205)*x_ref[1]**o+(-0.124360991957)*x_ref[1]+(0.00301047542037)*x_ref[2]**o+(-0.039439802799)*x_ref[2]
37533            ref[0,1]=(0.41979402771)*x_ref[0]**o+(0.798738902847)*x_ref[0]+(0.619960746922)*x_ref[1]**o+(-0.551662130664)*x_ref[1]+(0.914293623695)*x_ref[2]**o+(0.6859768812)*x_ref[2]
37534            ref[0,2]=(0.744593492696)*x_ref[0]**o+(-0.31743031745)*x_ref[0]+(0.389545123971)*x_ref[1]**o+(0.592024987288)*x_ref[1]+(0.63456095022)*x_ref[2]**o+(-0.746571796061)*x_ref[2]
37535            ref[0,3]=(-0.632549503649)*x_ref[0]**o+(-0.687745599598)*x_ref[0]+(0.794176042123)*x_ref[1]**o+(-0.971466375953)*x_ref[1]+(-0.086939632062)*x_ref[2]**o+(0.373736042024)*x_ref[2]
37536            ref[0,4]=(-0.966879538217)*x_ref[0]**o+(-0.609291970974)*x_ref[0]+(0.000409196978095)*x_ref[1]**o+(0.623934484362)*x_ref[1]+(-0.1694749999)*x_ref[2]**o+(0.131778917979)*x_ref[2]
37537            ref[1,0]=(0.763452444611)*x_ref[0]**o+(0.805147582411)*x_ref[0]+(0.999704124146)*x_ref[1]**o+(0.0635253753138)*x_ref[1]+(-0.717889410548)*x_ref[2]**o+(-0.840765968423)*x_ref[2]
37538            ref[1,1]=(-0.26910479702)*x_ref[0]**o+(0.594093239771)*x_ref[0]+(-0.536150372834)*x_ref[1]**o+(-0.768506263316)*x_ref[1]+(-0.924510063594)*x_ref[2]**o+(-0.950568839784)*x_ref[2]
37539            ref[1,2]=(-0.452317334239)*x_ref[0]**o+(0.186343827048)*x_ref[0]+(0.921015823436)*x_ref[1]**o+(-0.656809197675)*x_ref[1]+(-0.841898648461)*x_ref[2]**o+(0.267827136605)*x_ref[2]
37540            ref[1,3]=(-0.880873336233)*x_ref[0]**o+(-0.915350352959)*x_ref[0]+(0.92197459758)*x_ref[1]**o+(0.20861139921)*x_ref[1]+(0.776743964515)*x_ref[2]**o+(0.858569288507)*x_ref[2]
37541            ref[1,4]=(0.422773256864)*x_ref[0]**o+(0.397743860671)*x_ref[0]+(0.726470981309)*x_ref[1]**o+(-0.233534612019)*x_ref[1]+(-0.350345927201)*x_ref[2]**o+(-0.192294374344)*x_ref[2]
37542            ref[2,0]=(0.0706785590906)*x_ref[0]**o+(-0.102098736751)*x_ref[0]+(-0.858298802695)*x_ref[1]**o+(-0.1390708698)*x_ref[1]+(0.221129390442)*x_ref[2]**o+(0.770148745174)*x_ref[2]
37543            ref[2,1]=(0.619559141603)*x_ref[0]**o+(-0.969165124767)*x_ref[0]+(0.36662839455)*x_ref[1]**o+(0.505630485999)*x_ref[1]+(0.170716012487)*x_ref[2]**o+(0.355457960368)*x_ref[2]
37544            ref[2,2]=(0.254098998564)*x_ref[0]**o+(0.725662782597)*x_ref[0]+(0.274108937869)*x_ref[1]**o+(0.682336753679)*x_ref[1]+(-0.858192561327)*x_ref[2]**o+(-0.538785359078)*x_ref[2]
37545            ref[2,3]=(0.25513729674)*x_ref[0]**o+(-0.594968324608)*x_ref[0]+(-0.306612686559)*x_ref[1]**o+(-0.953891015684)*x_ref[1]+(-0.00631658753287)*x_ref[2]**o+(-0.889694464702)*x_ref[2]
37546            ref[2,4]=(0.654463492789)*x_ref[0]**o+(-0.42220702047)*x_ref[0]+(-0.690125229151)*x_ref[1]**o+(0.318923837754)*x_ref[1]+(-0.691341299676)*x_ref[2]**o+(0.824631778823)*x_ref[2]
37547            ref[3,0]=(-0.576563725107)*x_ref[0]**o+(-0.0354219245402)*x_ref[0]+(0.650854296808)*x_ref[1]**o+(0.930072736771)*x_ref[1]+(0.8383657117)*x_ref[2]**o+(0.191293272146)*x_ref[2]
37548            ref[3,1]=(0.104382485594)*x_ref[0]**o+(-0.718025390561)*x_ref[0]+(-0.822188446684)*x_ref[1]**o+(-0.0772502664782)*x_ref[1]+(-0.513331680922)*x_ref[2]**o+(0.164340503698)*x_ref[2]
37549            ref[3,2]=(0.685178273481)*x_ref[0]**o+(-0.241726920352)*x_ref[0]+(-0.891512838953)*x_ref[1]**o+(-0.428833037662)*x_ref[1]+(-0.910220899771)*x_ref[2]**o+(-0.0109246344661)*x_ref[2]
37550            ref[3,3]=(-0.294769406995)*x_ref[0]**o+(0.643502505933)*x_ref[0]+(0.309444282121)*x_ref[1]**o+(-0.935318923262)*x_ref[1]+(0.242426961867)*x_ref[2]**o+(-0.417268637067)*x_ref[2]
37551            ref[3,4]=(0.0382306334841)*x_ref[0]**o+(-0.564858278904)*x_ref[0]+(-0.594566652327)*x_ref[1]**o+(0.911894434818)*x_ref[1]+(-0.314178793024)*x_ref[2]**o+(0.302730333267)*x_ref[2]
37552          res=interpolate(arg,where=w_ref)
37553          self.failUnless(isinstance(res,Data),"wrong type of result.")
37554          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
37555          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
37556          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
37557       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
37558       def test_interpolate_onFunction_fromData_Function_rank3(self):
37559          """
37560          tests interpolate for rank 3 Data onto the Function
37561    
37562          assumptions: self.domain supports inpterpolation from Function onto Function
37563          """
37564          o=self.order
37565          dim=self.domain.getDim()
37566          w_ref=Function(self.domain)
37567          x_ref=w_ref.getX()
37568          w=Function(self.domain)
37569          x=w.getX()
37570          arg=Data(0,(6, 2, 2),w)
37571          ref=Data(0,(6, 2, 2),w_ref)
37572          if dim==2:
37573            arg[0,0,0]=(0.298635657968)*x[0]**o+(0.917751825722)*x[0]+(-0.000157823722007)*x[1]**o+(-0.202721972906)*x[1]
37574            arg[0,0,1]=(0.164880328673)*x[0]**o+(-0.310233508297)*x[0]+(-0.976270095138)*x[1]**o+(-0.86689594754)*x[1]
37575            arg[0,1,0]=(-0.130835262631)*x[0]**o+(-0.485555484157)*x[0]+(0.055655815912)*x[1]**o+(-0.488201458657)*x[1]
37576            arg[0,1,1]=(-0.339982923518)*x[0]**o+(0.435464515598)*x[0]+(-0.986955506076)*x[1]**o+(0.590966000031)*x[1]
37577            arg[1,0,0]=(0.150280127463)*x[0]**o+(0.827183876844)*x[0]+(0.468401701763)*x[1]**o+(-0.879871376091)*x[1]
37578            arg[1,0,1]=(0.48434831025)*x[0]**o+(-0.623958069024)*x[0]+(-0.781911271849)*x[1]**o+(0.34398679645)*x[1]
37579            arg[1,1,0]=(0.124273770782)*x[0]**o+(-0.683096046651)*x[0]+(0.769636378285)*x[1]**o+(-0.471970832437)*x[1]
37580            arg[1,1,1]=(0.769777912195)*x[0]**o+(-0.740802020319)*x[0]+(0.659109761568)*x[1]**o+(-0.495444655614)*x[1]
37581            arg[2,0,0]=(0.270063777356)*x[0]**o+(0.558849439723)*x[0]+(0.128946408169)*x[1]**o+(-0.962495994445)*x[1]
37582            arg[2,0,1]=(-0.0403460883009)*x[0]**o+(0.084983334662)*x[0]+(0.297573700577)*x[1]**o+(0.911774703678)*x[1]
37583            arg[2,1,0]=(0.821680378088)*x[0]**o+(0.10823172035)*x[0]+(-0.150213295203)*x[1]**o+(0.310471151961)*x[1]
37584            arg[2,1,1]=(-0.407033195691)*x[0]**o+(0.716262964777)*x[0]+(-0.262475432397)*x[1]**o+(-0.234158898682)*x[1]
37585            arg[3,0,0]=(-0.109193787139)*x[0]**o+(0.403892847875)*x[0]+(0.794082322801)*x[1]**o+(0.669070572253)*x[1]
37586            arg[3,0,1]=(0.969770217228)*x[0]**o+(0.735280190411)*x[0]+(-0.339891263613)*x[1]**o+(0.859989056027)*x[1]
37587            arg[3,1,0]=(-0.906193851712)*x[0]**o+(-0.330178132059)*x[0]+(-0.48035114847)*x[1]**o+(-0.48050067188)*x[1]
37588            arg[3,1,1]=(0.922778761752)*x[0]**o+(0.899145572602)*x[0]+(-0.991922151176)*x[1]**o+(0.615744852656)*x[1]
37589            arg[4,0,0]=(0.457092295352)*x[0]**o+(-0.120904430848)*x[0]+(0.575186782188)*x[1]**o+(-0.685522788659)*x[1]
37590            arg[4,0,1]=(0.254934861907)*x[0]**o+(-0.208850206761)*x[0]+(-0.0933987467304)*x[1]**o+(0.687715419212)*x[1]
37591            arg[4,1,0]=(0.483890412252)*x[0]**o+(-0.192055355216)*x[0]+(0.0891595367214)*x[1]**o+(-0.835900121805)*x[1]
37592            arg[4,1,1]=(-0.281109655935)*x[0]**o+(0.279867178407)*x[0]+(0.843094337157)*x[1]**o+(-0.457583293166)*x[1]
37593            arg[5,0,0]=(0.595078633674)*x[0]**o+(-0.994652086537)*x[0]+(0.111354924733)*x[1]**o+(0.715580298167)*x[1]
37594            arg[5,0,1]=(0.823409068766)*x[0]**o+(0.41047089933)*x[0]+(-0.610763277348)*x[1]**o+(0.0991108428868)*x[1]
37595            arg[5,1,0]=(-0.0291539407811)*x[0]**o+(0.371799932333)*x[0]+(0.631702366805)*x[1]**o+(-0.858415923309)*x[1]
37596            arg[5,1,1]=(-0.636146064991)*x[0]**o+(0.407248062196)*x[0]+(-0.507069143933)*x[1]**o+(-0.0509951705166)*x[1]
37597            ref[0,0,0]=(0.298635657968)*x_ref[0]**o+(0.917751825722)*x_ref[0]+(-0.000157823722007)*x_ref[1]**o+(-0.202721972906)*x_ref[1]
37598            ref[0,0,1]=(0.164880328673)*x_ref[0]**o+(-0.310233508297)*x_ref[0]+(-0.976270095138)*x_ref[1]**o+(-0.86689594754)*x_ref[1]
37599            ref[0,1,0]=(-0.130835262631)*x_ref[0]**o+(-0.485555484157)*x_ref[0]+(0.055655815912)*x_ref[1]**o+(-0.488201458657)*x_ref[1]
37600            ref[0,1,1]=(-0.339982923518)*x_ref[0]**o+(0.435464515598)*x_ref[0]+(-0.986955506076)*x_ref[1]**o+(0.590966000031)*x_ref[1]
37601            ref[1,0,0]=(0.150280127463)*x_ref[0]**o+(0.827183876844)*x_ref[0]+(0.468401701763)*x_ref[1]**o+(-0.879871376091)*x_ref[1]
37602            ref[1,0,1]=(0.48434831025)*x_ref[0]**o+(-0.623958069024)*x_ref[0]+(-0.781911271849)*x_ref[1]**o+(0.34398679645)*x_ref[1]
37603            ref[1,1,0]=(0.124273770782)*x_ref[0]**o+(-0.683096046651)*x_ref[0]+(0.769636378285)*x_ref[1]**o+(-0.471970832437)*x_ref[1]
37604            ref[1,1,1]=(0.769777912195)*x_ref[0]**o+(-0.740802020319)*x_ref[0]+(0.659109761568)*x_ref[1]**o+(-0.495444655614)*x_ref[1]
37605            ref[2,0,0]=(0.270063777356)*x_ref[0]**o+(0.558849439723)*x_ref[0]+(0.128946408169)*x_ref[1]**o+(-0.962495994445)*x_ref[1]
37606            ref[2,0,1]=(-0.0403460883009)*x_ref[0]**o+(0.084983334662)*x_ref[0]+(0.297573700577)*x_ref[1]**o+(0.911774703678)*x_ref[1]
37607            ref[2,1,0]=(0.821680378088)*x_ref[0]**o+(0.10823172035)*x_ref[0]+(-0.150213295203)*x_ref[1]**o+(0.310471151961)*x_ref[1]
37608            ref[2,1,1]=(-0.407033195691)*x_ref[0]**o+(0.716262964777)*x_ref[0]+(-0.262475432397)*x_ref[1]**o+(-0.234158898682)*x_ref[1]
37609            ref[3,0,0]=(-0.109193787139)*x_ref[0]**o+(0.403892847875)*x_ref[0]+(0.794082322801)*x_ref[1]**o+(0.669070572253)*x_ref[1]
37610            ref[3,0,1]=(0.969770217228)*x_ref[0]**o+(0.735280190411)*x_ref[0]+(-0.339891263613)*x_ref[1]**o+(0.859989056027)*x_ref[1]
37611            ref[3,1,0]=(-0.906193851712)*x_ref[0]**o+(-0.330178132059)*x_ref[0]+(-0.48035114847)*x_ref[1]**o+(-0.48050067188)*x_ref[1]
37612            ref[3,1,1]=(0.922778761752)*x_ref[0]**o+(0.899145572602)*x_ref[0]+(-0.991922151176)*x_ref[1]**o+(0.615744852656)*x_ref[1]
37613            ref[4,0,0]=(0.457092295352)*x_ref[0]**o+(-0.120904430848)*x_ref[0]+(0.575186782188)*x_ref[1]**o+(-0.685522788659)*x_ref[1]
37614            ref[4,0,1]=(0.254934861907)*x_ref[0]**o+(-0.208850206761)*x_ref[0]+(-0.0933987467304)*x_ref[1]**o+(0.687715419212)*x_ref[1]
37615            ref[4,1,0]=(0.483890412252)*x_ref[0]**o+(-0.192055355216)*x_ref[0]+(0.0891595367214)*x_ref[1]**o+(-0.835900121805)*x_ref[1]
37616            ref[4,1,1]=(-0.281109655935)*x_ref[0]**o+(0.279867178407)*x_ref[0]+(0.843094337157)*x_ref[1]**o+(-0.457583293166)*x_ref[1]
37617            ref[5,0,0]=(0.595078633674)*x_ref[0]**o+(-0.994652086537)*x_ref[0]+(0.111354924733)*x_ref[1]**o+(0.715580298167)*x_ref[1]
37618            ref[5,0,1]=(0.823409068766)*x_ref[0]**o+(0.41047089933)*x_ref[0]+(-0.610763277348)*x_ref[1]**o+(0.0991108428868)*x_ref[1]
37619            ref[5,1,0]=(-0.0291539407811)*x_ref[0]**o+(0.371799932333)*x_ref[0]+(0.631702366805)*x_ref[1]**o+(-0.858415923309)*x_ref[1]
37620            ref[5,1,1]=(-0.636146064991)*x_ref[0]**o+(0.407248062196)*x_ref[0]+(-0.507069143933)*x_ref[1]**o+(-0.0509951705166)*x_ref[1]
37621          else:
37622            arg[0,0,0]=(-0.662043178282)*x[0]**o+(0.600130780119)*x[0]+(-0.52233323628)*x[1]**o+(-0.463302513654)*x[1]+(0.714996279403)*x[2]**o+(0.113219137203)*x[2]
37623            arg[0,0,1]=(0.94317347224)*x[0]**o+(0.987584533548)*x[0]+(0.116577593127)*x[1]**o+(-0.515267022711)*x[1]+(0.856578953903)*x[2]**o+(0.70372338917)*x[2]
37624            arg[0,1,0]=(-0.405265998966)*x[0]**o+(-0.656404120416)*x[0]+(0.270655604701)*x[1]**o+(0.0638534875176)*x[1]+(0.816834973788)*x[2]**o+(0.918436000225)*x[2]
37625            arg[0,1,1]=(-0.37299950332)*x[0]**o+(-0.0367737761004)*x[0]+(0.176531372245)*x[1]**o+(0.849773143988)*x[1]+(-0.572911529869)*x[2]**o+(-0.140163625628)*x[2]
37626            arg[1,0,0]=(0.263616091516)*x[0]**o+(-0.65550051998)*x[0]+(-0.118310211881)*x[1]**o+(-0.695263983587)*x[1]+(-0.49011649182)*x[2]**o+(-0.553284002669)*x[2]
37627            arg[1,0,1]=(0.859640205193)*x[0]**o+(-0.569681205214)*x[0]+(0.459979003108)*x[1]**o+(0.672561515814)*x[1]+(-0.854289983441)*x[2]**o+(-0.445344129294)*x[2]
37628            arg[1,1,0]=(-0.904355809101)*x[0]**o+(0.540513356972)*x[0]+(-0.377422260181)*x[1]**o+(0.937285151058)*x[1]+(0.148943597435)*x[2]**o+(0.992256197076)*x[2]
37629            arg[1,1,1]=(-0.868336238952)*x[0]**o+(-0.713337888363)*x[0]+(0.800427728006)*x[1]**o+(-0.83502690568)*x[1]+(0.365707922084)*x[2]**o+(0.218740577318)*x[2]
37630            arg[2,0,0]=(-0.0382672594668)*x[0]**o+(0.463831755073)*x[0]+(-0.104957678792)*x[1]**o+(-0.561738607653)*x[1]+(-0.660128314406)*x[2]**o+(0.594649133189)*x[2]
37631            arg[2,0,1]=(-0.399297921751)*x[0]**o+(0.550876554224)*x[0]+(0.150599666563)*x[1]**o+(-0.748400310268)*x[1]+(0.658318134651)*x[2]**o+(0.49075091442)*x[2]
37632            arg[2,1,0]=(-0.393769876286)*x[0]**o+(0.328125610064)*x[0]+(-0.703385111404)*x[1]**o+(0.0418077854723)*x[1]+(0.918774663106)*x[2]**o+(-0.119085951508)*x[2]
37633            arg[2,1,1]=(-0.549250924758)*x[0]**o+(0.169148558793)*x[0]+(0.664162931811)*x[1]**o+(0.207136816188)*x[1]+(-0.17207817969)*x[2]**o+(0.34258020774)*x[2]
37634            arg[3,0,0]=(0.446467472517)*x[0]**o+(-0.358128380843)*x[0]+(0.146916048359)*x[1]**o+(-0.606692124285)*x[1]+(0.828655704727)*x[2]**o+(0.067139299396)*x[2]
37635            arg[3,0,1]=(-0.357052242351)*x[0]**o+(-0.528255164843)*x[0]+(0.140204673142)*x[1]**o+(0.674282235672)*x[1]+(-0.469118454039)*x[2]**o+(0.388103121466)*x[2]
37636            arg[3,1,0]=(-0.359629791333)*x[0]**o+(-0.625108929158)*x[0]+(0.855034791748)*x[1]**o+(-0.343451063341)*x[1]+(-0.681557972105)*x[2]**o+(0.576310870238)*x[2]
37637            arg[3,1,1]=(0.00546530278132)*x[0]**o+(0.359221089344)*x[0]+(-0.57416247885)*x[1]**o+(-0.521306138323)*x[1]+(-0.618281954095)*x[2]**o+(-0.862162207352)*x[2]
37638            arg[4,0,0]=(-0.196356423488)*x[0]**o+(-0.871482508533)*x[0]+(-0.367390886081)*x[1]**o+(0.580310108591)*x[1]+(0.857970671482)*x[2]**o+(0.123685673359)*x[2]
37639            arg[4,0,1]=(0.715104674022)*x[0]**o+(-0.00444438628932)*x[0]+(0.538883210054)*x[1]**o+(0.179340705463)*x[1]+(-0.605249436909)*x[2]**o+(-0.744253826562)*x[2]
37640            arg[4,1,0]=(-0.315453893647)*x[0]**o+(-0.560946546082)*x[0]+(-0.674448928458)*x[1]**o+(-0.510243444449)*x[1]+(0.592615876779)*x[2]**o+(0.218024801263)*x[2]
37641            arg[4,1,1]=(-0.46902473326)*x[0]**o+(-0.573926691452)*x[0]+(0.827898114814)*x[1]**o+(-0.644208082857)*x[1]+(-0.956169254426)*x[2]**o+(-0.297101737561)*x[2]
37642            arg[5,0,0]=(0.45818164662)*x[0]**o+(0.219667021464)*x[0]+(-0.453125753418)*x[1]**o+(-0.201214929832)*x[1]+(0.135363067088)*x[2]**o+(0.850636247323)*x[2]
37643            arg[5,0,1]=(0.296120304926)*x[0]**o+(-0.139971296351)*x[0]+(0.448115780401)*x[1]**o+(-0.300602343399)*x[1]+(-0.165568753274)*x[2]**o+(0.984788641639)*x[2]
37644            arg[5,1,0]=(0.321875942152)*x[0]**o+(-0.403122417353)*x[0]+(-0.148664639927)*x[1]**o+(0.644143662303)*x[1]+(-0.718311175542)*x[2]**o+(-0.850248996913)*x[2]
37645            arg[5,1,1]=(0.44869757406)*x[0]**o+(0.0292094503086)*x[0]+(-0.159644215279)*x[1]**o+(0.695976060359)*x[1]+(-0.221444458713)*x[2]**o+(-0.42974111206)*x[2]
37646            ref[0,0,0]=(-0.662043178282)*x_ref[0]**o+(0.600130780119)*x_ref[0]+(-0.52233323628)*x_ref[1]**o+(-0.463302513654)*x_ref[1]+(0.714996279403)*x_ref[2]**o+(0.113219137203)*x_ref[2]
37647            ref[0,0,1]=(0.94317347224)*x_ref[0]**o+(0.987584533548)*x_ref[0]+(0.116577593127)*x_ref[1]**o+(-0.515267022711)*x_ref[1]+(0.856578953903)*x_ref[2]**o+(0.70372338917)*x_ref[2]
37648            ref[0,1,0]=(-0.405265998966)*x_ref[0]**o+(-0.656404120416)*x_ref[0]+(0.270655604701)*x_ref[1]**o+(0.0638534875176)*x_ref[1]+(0.816834973788)*x_ref[2]**o+(0.918436000225)*x_ref[2]
37649            ref[0,1,1]=(-0.37299950332)*x_ref[0]**o+(-0.0367737761004)*x_ref[0]+(0.176531372245)*x_ref[1]**o+(0.849773143988)*x_ref[1]+(-0.572911529869)*x_ref[2]**o+(-0.140163625628)*x_ref[2]
37650            ref[1,0,0]=(0.263616091516)*x_ref[0]**o+(-0.65550051998)*x_ref[0]+(-0.118310211881)*x_ref[1]**o+(-0.695263983587)*x_ref[1]+(-0.49011649182)*x_ref[2]**o+(-0.553284002669)*x_ref[2]
37651            ref[1,0,1]=(0.859640205193)*x_ref[0]**o+(-0.569681205214)*x_ref[0]+(0.459979003108)*x_ref[1]**o+(0.672561515814)*x_ref[1]+(-0.854289983441)*x_ref[2]**o+(-0.445344129294)*x_ref[2]
37652            ref[1,1,0]=(-0.904355809101)*x_ref[0]**o+(0.540513356972)*x_ref[0]+(-0.377422260181)*x_ref[1]**o+(0.937285151058)*x_ref[1]+(0.148943597435)*x_ref[2]**o+(0.992256197076)*x_ref[2]
37653            ref[1,1,1]=(-0.868336238952)*x_ref[0]**o+(-0.713337888363)*x_ref[0]+(0.800427728006)*x_ref[1]**o+(-0.83502690568)*x_ref[1]+(0.365707922084)*x_ref[2]**o+(0.218740577318)*x_ref[2]
37654            ref[2,0,0]=(-0.0382672594668)*x_ref[0]**o+(0.463831755073)*x_ref[0]+(-0.104957678792)*x_ref[1]**o+(-0.561738607653)*x_ref[1]+(-0.660128314406)*x_ref[2]**o+(0.594649133189)*x_ref[2]
37655            ref[2,0,1]=(-0.399297921751)*x_ref[0]**o+(0.550876554224)*x_ref[0]+(0.150599666563)*x_ref[1]**o+(-0.748400310268)*x_ref[1]+(0.658318134651)*x_ref[2]**o+(0.49075091442)*x_ref[2]
37656            ref[2,1,0]=(-0.393769876286)*x_ref[0]**o+(0.328125610064)*x_ref[0]+(-0.703385111404)*x_ref[1]**o+(0.0418077854723)*x_ref[1]+(0.918774663106)*x_ref[2]**o+(-0.119085951508)*x_ref[2]
37657            ref[2,1,1]=(-0.549250924758)*x_ref[0]**o+(0.169148558793)*x_ref[0]+(0.664162931811)*x_ref[1]**o+(0.207136816188)*x_ref[1]+(-0.17207817969)*x_ref[2]**o+(0.34258020774)*x_ref[2]
37658            ref[3,0,0]=(0.446467472517)*x_ref[0]**o+(-0.358128380843)*x_ref[0]+(0.146916048359)*x_ref[1]**o+(-0.606692124285)*x_ref[1]+(0.828655704727)*x_ref[2]**o+(0.067139299396)*x_ref[2]
37659            ref[3,0,1]=(-0.357052242351)*x_ref[0]**o+(-0.528255164843)*x_ref[0]+(0.140204673142)*x_ref[1]**o+(0.674282235672)*x_ref[1]+(-0.469118454039)*x_ref[2]**o+(0.388103121466)*x_ref[2]
37660            ref[3,1,0]=(-0.359629791333)*x_ref[0]**o+(-0.625108929158)*x_ref[0]+(0.855034791748)*x_ref[1]**o+(-0.343451063341)*x_ref[1]+(-0.681557972105)*x_ref[2]**o+(0.576310870238)*x_ref[2]
37661            ref[3,1,1]=(0.00546530278132)*x_ref[0]**o+(0.359221089344)*x_ref[0]+(-0.57416247885)*x_ref[1]**o+(-0.521306138323)*x_ref[