/[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 439 by gross, Fri Jan 20 01:46:22 2006 UTC
# Line 34976  class Test_Util_SpatialFunctions(unittes Line 34976  class Test_Util_SpatialFunctions(unittes
34976        self.failUnless(isinstance(res,Symbol),"wrong type of result.")        self.failUnless(isinstance(res,Symbol),"wrong type of result.")
34977        self.failUnlessEqual(res.getShape(),(6, 2, 2)+(dim,),"wrong shape of result.")        self.failUnlessEqual(res.getShape(),(6, 2, 2)+(dim,),"wrong shape of result.")
34978        self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")        self.failUnless(Lsup(sub-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
34979       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
34980       def test_interpolation_onFunction_fromData_ContinuousFunction_rank0(self):
34981          """
34982          tests interpolation for rank 0 Data onto the Function
34983    
34984          assumptions: self.domain supports inpterpolation from ContinuousFunction onto Function
34985          """
34986          o=self.order
34987          dim=self.domain.getDim()
34988          w_ref=Function(self.domain)
34989          x_ref=w_ref.getX()
34990          w=ContinuousFunction(self.domain)
34991          x=w.getX()
34992          arg=Data(0,(),w)
34993          ref=Data(0,(),w_ref)
34994          if dim==2:
34995            arg=(-0.350515208335)*x[0]**o+(-0.604596801095)*x[0]+(0.145267491062)*x[1]**o+(-0.422271555369)*x[1]
34996            ref=(-0.350515208335)*x_ref[0]**o+(-0.604596801095)*x_ref[0]+(0.145267491062)*x_ref[1]**o+(-0.422271555369)*x_ref[1]
34997          else:
34998            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]
34999            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]
35000          res=interpolate(arg,where=w_ref)
35001          self.failUnless(isinstance(res,Data),"wrong type of result.")
35002          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35003          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
35004          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35005       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35006       def test_interpolation_onFunction_fromData_ContinuousFunction_rank1(self):
35007          """
35008          tests interpolation for rank 1 Data onto the Function
35009    
35010          assumptions: self.domain supports inpterpolation from ContinuousFunction onto Function
35011          """
35012          o=self.order
35013          dim=self.domain.getDim()
35014          w_ref=Function(self.domain)
35015          x_ref=w_ref.getX()
35016          w=ContinuousFunction(self.domain)
35017          x=w.getX()
35018          arg=Data(0,(2,),w)
35019          ref=Data(0,(2,),w_ref)
35020          if dim==2:
35021            arg[0]=(0.104854565192)*x[0]**o+(-0.596688162793)*x[0]+(-0.0286471957779)*x[1]**o+(-0.157282508059)*x[1]
35022            arg[1]=(0.619817759027)*x[0]**o+(-0.832815965127)*x[0]+(-0.638126497014)*x[1]**o+(0.771271149341)*x[1]
35023            ref[0]=(0.104854565192)*x_ref[0]**o+(-0.596688162793)*x_ref[0]+(-0.0286471957779)*x_ref[1]**o+(-0.157282508059)*x_ref[1]
35024            ref[1]=(0.619817759027)*x_ref[0]**o+(-0.832815965127)*x_ref[0]+(-0.638126497014)*x_ref[1]**o+(0.771271149341)*x_ref[1]
35025          else:
35026            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]
35027            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]
35028            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]
35029            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]
35030          res=interpolate(arg,where=w_ref)
35031          self.failUnless(isinstance(res,Data),"wrong type of result.")
35032          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35033          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
35034          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35035       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35036       def test_interpolation_onFunction_fromData_ContinuousFunction_rank2(self):
35037          """
35038          tests interpolation for rank 2 Data onto the Function
35039    
35040          assumptions: self.domain supports inpterpolation from ContinuousFunction onto Function
35041          """
35042          o=self.order
35043          dim=self.domain.getDim()
35044          w_ref=Function(self.domain)
35045          x_ref=w_ref.getX()
35046          w=ContinuousFunction(self.domain)
35047          x=w.getX()
35048          arg=Data(0,(4, 5),w)
35049          ref=Data(0,(4, 5),w_ref)
35050          if dim==2:
35051            arg[0,0]=(-0.0571385613076)*x[0]**o+(-0.296048600622)*x[0]+(0.300914212927)*x[1]**o+(0.81578919689)*x[1]
35052            arg[0,1]=(0.136796732287)*x[0]**o+(0.169384864236)*x[0]+(-0.874585047899)*x[1]**o+(-0.67613629157)*x[1]
35053            arg[0,2]=(-0.947048556597)*x[0]**o+(-0.807647782941)*x[0]+(-0.53233790031)*x[1]**o+(0.618861393596)*x[1]
35054            arg[0,3]=(-0.533009370674)*x[0]**o+(-0.732258917532)*x[0]+(0.735058784793)*x[1]**o+(0.313284184128)*x[1]
35055            arg[0,4]=(0.678291805831)*x[0]**o+(0.892272189132)*x[0]+(-0.902740106267)*x[1]**o+(0.902593764933)*x[1]
35056            arg[1,0]=(0.101446968367)*x[0]**o+(0.758270058166)*x[0]+(-0.511416064913)*x[1]**o+(-0.464147847068)*x[1]
35057            arg[1,1]=(-0.0131419066862)*x[0]**o+(-0.942460391354)*x[0]+(0.479955107486)*x[1]**o+(-0.311304181244)*x[1]
35058            arg[1,2]=(0.623958732361)*x[0]**o+(-0.313196338837)*x[0]+(0.413428996617)*x[1]**o+(0.348327566672)*x[1]
35059            arg[1,3]=(-0.8413636876)*x[0]**o+(-0.572573098032)*x[0]+(-0.678663954356)*x[1]**o+(-0.419716403314)*x[1]
35060            arg[1,4]=(-0.580466216486)*x[0]**o+(0.384226238557)*x[0]+(-0.732722613215)*x[1]**o+(-0.0238970013828)*x[1]
35061            arg[2,0]=(-0.248986933717)*x[0]**o+(0.264019654506)*x[0]+(0.0314811616292)*x[1]**o+(0.631481081422)*x[1]
35062            arg[2,1]=(0.643576426484)*x[0]**o+(-0.313599735242)*x[0]+(0.908780876791)*x[1]**o+(-0.698972268201)*x[1]
35063            arg[2,2]=(-0.623208321993)*x[0]**o+(0.649637800083)*x[0]+(-0.878484988208)*x[1]**o+(0.368793479691)*x[1]
35064            arg[2,3]=(0.239333407828)*x[0]**o+(-0.293558915555)*x[0]+(0.271630238733)*x[1]**o+(0.741304510722)*x[1]
35065            arg[2,4]=(0.175914942104)*x[0]**o+(0.336116863935)*x[0]+(-0.799168065807)*x[1]**o+(0.0264962830729)*x[1]
35066            arg[3,0]=(0.777665875019)*x[0]**o+(-0.13232137001)*x[0]+(0.682046389381)*x[1]**o+(0.589069623109)*x[1]
35067            arg[3,1]=(0.7607621575)*x[0]**o+(-0.81285460551)*x[0]+(0.0523010659976)*x[1]**o+(-0.913765717778)*x[1]
35068            arg[3,2]=(0.822107753118)*x[0]**o+(0.508869893322)*x[0]+(0.679583348422)*x[1]**o+(-0.597814039932)*x[1]
35069            arg[3,3]=(-0.77699176705)*x[0]**o+(-0.267758166676)*x[0]+(0.661073127871)*x[1]**o+(-0.41434545147)*x[1]
35070            arg[3,4]=(0.223013380161)*x[0]**o+(-0.558077040245)*x[0]+(-0.450831764747)*x[1]**o+(-0.0897765635191)*x[1]
35071            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]
35072            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]
35073            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]
35074            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]
35075            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]
35076            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]
35077            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]
35078            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]
35079            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]
35080            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]
35081            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]
35082            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]
35083            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]
35084            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]
35085            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]
35086            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]
35087            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]
35088            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]
35089            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]
35090            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]
35091          else:
35092            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]
35093            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]
35094            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]
35095            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]
35096            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]
35097            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]
35098            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]
35099            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]
35100            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]
35101            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]
35102            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]
35103            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]
35104            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]
35105            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]
35106            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]
35107            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]
35108            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]
35109            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]
35110            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]
35111            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]
35112            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]
35113            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]
35114            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]
35115            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]
35116            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]
35117            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]
35118            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]
35119            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]
35120            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]
35121            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]
35122            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]
35123            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]
35124            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]
35125            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]
35126            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]
35127            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]
35128            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]
35129            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]
35130            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]
35131            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]
35132          res=interpolate(arg,where=w_ref)
35133          self.failUnless(isinstance(res,Data),"wrong type of result.")
35134          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35135          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
35136          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35137       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35138       def test_interpolation_onFunction_fromData_ContinuousFunction_rank3(self):
35139          """
35140          tests interpolation for rank 3 Data onto the Function
35141    
35142          assumptions: self.domain supports inpterpolation from ContinuousFunction onto Function
35143          """
35144          o=self.order
35145          dim=self.domain.getDim()
35146          w_ref=Function(self.domain)
35147          x_ref=w_ref.getX()
35148          w=ContinuousFunction(self.domain)
35149          x=w.getX()
35150          arg=Data(0,(6, 2, 2),w)
35151          ref=Data(0,(6, 2, 2),w_ref)
35152          if dim==2:
35153            arg[0,0,0]=(-0.0906971676514)*x[0]**o+(-0.0640252128559)*x[0]+(-0.0108470120234)*x[1]**o+(-0.62531206416)*x[1]
35154            arg[0,0,1]=(-0.0186703191671)*x[0]**o+(0.256044044276)*x[0]+(-0.420130556042)*x[1]**o+(-0.241203381189)*x[1]
35155            arg[0,1,0]=(-0.287587258734)*x[0]**o+(-0.152487596827)*x[0]+(-0.554975489568)*x[1]**o+(0.713650618367)*x[1]
35156            arg[0,1,1]=(0.467597882001)*x[0]**o+(0.617291271522)*x[0]+(0.839893220642)*x[1]**o+(0.477553624935)*x[1]
35157            arg[1,0,0]=(0.292433268891)*x[0]**o+(0.0420372671524)*x[0]+(-0.342734694042)*x[1]**o+(0.892580432212)*x[1]
35158            arg[1,0,1]=(0.191399101606)*x[0]**o+(0.413781516804)*x[0]+(-0.346483382584)*x[1]**o+(0.805718474386)*x[1]
35159            arg[1,1,0]=(0.917644938285)*x[0]**o+(0.60457272962)*x[0]+(-0.0949129141155)*x[1]**o+(0.705971564397)*x[1]
35160            arg[1,1,1]=(0.327738300229)*x[0]**o+(-0.738951673731)*x[0]+(0.335869509312)*x[1]**o+(0.392167761004)*x[1]
35161            arg[2,0,0]=(0.460678533261)*x[0]**o+(-0.10665029868)*x[0]+(0.658148262201)*x[1]**o+(-0.75975084995)*x[1]
35162            arg[2,0,1]=(0.307057582515)*x[0]**o+(0.0755776536138)*x[0]+(0.866743758656)*x[1]**o+(-0.463537240812)*x[1]
35163            arg[2,1,0]=(-0.470241867396)*x[0]**o+(-0.0316070952691)*x[0]+(0.877786692055)*x[1]**o+(-0.750713976717)*x[1]
35164            arg[2,1,1]=(0.755903505788)*x[0]**o+(0.398472877018)*x[0]+(-0.372159129627)*x[1]**o+(0.170870288116)*x[1]
35165            arg[3,0,0]=(0.0310115714805)*x[0]**o+(0.822261427932)*x[0]+(-0.0979068243755)*x[1]**o+(0.61848414895)*x[1]
35166            arg[3,0,1]=(-0.442666645023)*x[0]**o+(0.759423291727)*x[0]+(0.771826722418)*x[1]**o+(-0.342283533203)*x[1]
35167            arg[3,1,0]=(0.292608821995)*x[0]**o+(0.301553824784)*x[0]+(0.445054135435)*x[1]**o+(0.990249711651)*x[1]
35168            arg[3,1,1]=(0.835714722542)*x[0]**o+(0.888569910076)*x[0]+(0.76442321847)*x[1]**o+(-0.272880995105)*x[1]
35169            arg[4,0,0]=(0.434738367563)*x[0]**o+(-0.801063604881)*x[0]+(-0.0152782263323)*x[1]**o+(-0.309467614762)*x[1]
35170            arg[4,0,1]=(-0.647140151015)*x[0]**o+(-0.0810020795911)*x[0]+(0.356402263616)*x[1]**o+(0.861692124435)*x[1]
35171            arg[4,1,0]=(-0.958501155541)*x[0]**o+(0.611720259342)*x[0]+(-0.631450146062)*x[1]**o+(-0.512668667768)*x[1]
35172            arg[4,1,1]=(0.771988547023)*x[0]**o+(0.466474334634)*x[0]+(-0.380283529607)*x[1]**o+(-0.619497160805)*x[1]
35173            arg[5,0,0]=(0.427386565443)*x[0]**o+(-0.178637075872)*x[0]+(0.81988184595)*x[1]**o+(-0.407798714033)*x[1]
35174            arg[5,0,1]=(-0.850161084571)*x[0]**o+(0.183440360862)*x[0]+(-0.83848298192)*x[1]**o+(-0.222248160259)*x[1]
35175            arg[5,1,0]=(-0.930623680879)*x[0]**o+(0.694991147173)*x[0]+(-0.299904374239)*x[1]**o+(0.552324198856)*x[1]
35176            arg[5,1,1]=(0.740715083219)*x[0]**o+(0.438768785937)*x[0]+(0.977523774483)*x[1]**o+(-0.668723413125)*x[1]
35177            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]
35178            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]
35179            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]
35180            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]
35181            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]
35182            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]
35183            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]
35184            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]
35185            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]
35186            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]
35187            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]
35188            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]
35189            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]
35190            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]
35191            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]
35192            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]
35193            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]
35194            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]
35195            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]
35196            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]
35197            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]
35198            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]
35199            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]
35200            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]
35201          else:
35202            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]
35203            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]
35204            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]
35205            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]
35206            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]
35207            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]
35208            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]
35209            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]
35210            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]
35211            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]
35212            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]
35213            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]
35214            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]
35215            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]
35216            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]
35217            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]
35218            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]
35219            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]
35220            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]
35221            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]
35222            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]
35223            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]
35224            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]
35225            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]
35226            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]
35227            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]
35228            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]
35229            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]
35230            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]
35231            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]
35232            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]
35233            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]
35234            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]
35235            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]
35236            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]
35237            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]
35238            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]
35239            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]
35240            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]
35241            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]
35242            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]
35243            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]
35244            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]
35245            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]
35246            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]
35247            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]
35248            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]
35249            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]
35250          res=interpolate(arg,where=w_ref)
35251          self.failUnless(isinstance(res,Data),"wrong type of result.")
35252          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35253          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
35254          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35255       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35256       def test_interpolation_onFunction_fromData_ContinuousFunction_rank4(self):
35257          """
35258          tests interpolation for rank 4 Data onto the Function
35259    
35260          assumptions: self.domain supports inpterpolation from ContinuousFunction onto Function
35261          """
35262          o=self.order
35263          dim=self.domain.getDim()
35264          w_ref=Function(self.domain)
35265          x_ref=w_ref.getX()
35266          w=ContinuousFunction(self.domain)
35267          x=w.getX()
35268          arg=Data(0,(4, 5, 3, 2),w)
35269          ref=Data(0,(4, 5, 3, 2),w_ref)
35270          if dim==2:
35271            arg[0,0,0,0]=(-0.717741572212)*x[0]**o+(-0.771801794802)*x[0]+(-0.782201793954)*x[1]**o+(0.125253178673)*x[1]
35272            arg[0,0,0,1]=(-0.483339499341)*x[0]**o+(0.0177945970437)*x[0]+(0.233532060933)*x[1]**o+(-0.465948890703)*x[1]
35273            arg[0,0,1,0]=(0.140544455071)*x[0]**o+(-0.120145399579)*x[0]+(-0.0732045826929)*x[1]**o+(-0.738165902415)*x[1]
35274            arg[0,0,1,1]=(0.98057407477)*x[0]**o+(0.346125329427)*x[0]+(0.697386820108)*x[1]**o+(0.402406370862)*x[1]
35275            arg[0,0,2,0]=(0.347641628204)*x[0]**o+(-0.217938924727)*x[0]+(-0.0572727430966)*x[1]**o+(0.170631149745)*x[1]
35276            arg[0,0,2,1]=(0.621840702108)*x[0]**o+(-0.109219941839)*x[0]+(0.894052962811)*x[1]**o+(0.423894680808)*x[1]
35277            arg[0,1,0,0]=(0.0339315069567)*x[0]**o+(-0.655546201957)*x[0]+(-0.271776247317)*x[1]**o+(0.4760527815)*x[1]
35278            arg[0,1,0,1]=(0.904216237912)*x[0]**o+(0.974869309983)*x[0]+(0.678379481202)*x[1]**o+(0.602534020957)*x[1]
35279            arg[0,1,1,0]=(-0.98805028173)*x[0]**o+(0.255251214419)*x[0]+(0.659010647624)*x[1]**o+(-0.45360685971)*x[1]
35280            arg[0,1,1,1]=(0.0884339867328)*x[0]**o+(-0.325188714625)*x[0]+(0.158562643552)*x[1]**o+(-0.788600388567)*x[1]
35281            arg[0,1,2,0]=(0.976404407593)*x[0]**o+(0.353231650963)*x[0]+(0.546951413477)*x[1]**o+(0.0738098551899)*x[1]
35282            arg[0,1,2,1]=(-0.812156797654)*x[0]**o+(-0.0180014270879)*x[0]+(0.686011517957)*x[1]**o+(0.148522434365)*x[1]
35283            arg[0,2,0,0]=(-0.40018516407)*x[0]**o+(-0.0512695503575)*x[0]+(-0.715512784143)*x[1]**o+(0.111064716031)*x[1]
35284            arg[0,2,0,1]=(-0.963397739298)*x[0]**o+(0.406951519848)*x[0]+(-0.293539028967)*x[1]**o+(-0.549328925146)*x[1]
35285            arg[0,2,1,0]=(-0.00827402449089)*x[0]**o+(-0.657982352244)*x[0]+(-0.515966831052)*x[1]**o+(0.531853371259)*x[1]
35286            arg[0,2,1,1]=(0.0379862601491)*x[0]**o+(0.988691147833)*x[0]+(0.820623911484)*x[1]**o+(0.689064076022)*x[1]
35287            arg[0,2,2,0]=(-0.857638654259)*x[0]**o+(0.664968676908)*x[0]+(-0.228424264597)*x[1]**o+(0.740003679791)*x[1]
35288            arg[0,2,2,1]=(0.456486069586)*x[0]**o+(-0.510130176146)*x[0]+(-0.189525160745)*x[1]**o+(0.497975981413)*x[1]
35289            arg[0,3,0,0]=(-0.981633737105)*x[0]**o+(0.25636883881)*x[0]+(-0.0477676975467)*x[1]**o+(0.654475880014)*x[1]
35290            arg[0,3,0,1]=(-0.0710284929969)*x[0]**o+(0.338590765191)*x[0]+(0.639048913997)*x[1]**o+(-0.24999606762)*x[1]
35291            arg[0,3,1,0]=(-0.731484482659)*x[0]**o+(-0.808253846389)*x[0]+(-0.911723431862)*x[1]**o+(-0.266029942425)*x[1]
35292            arg[0,3,1,1]=(0.909037857376)*x[0]**o+(-0.164525039433)*x[0]+(-0.924332370345)*x[1]**o+(0.476479399362)*x[1]
35293            arg[0,3,2,0]=(0.00534173833653)*x[0]**o+(-0.435160515142)*x[0]+(0.402701511687)*x[1]**o+(0.161631276653)*x[1]
35294            arg[0,3,2,1]=(-0.595791669027)*x[0]**o+(0.170580206948)*x[0]+(0.468802250813)*x[1]**o+(-0.881472636722)*x[1]
35295            arg[0,4,0,0]=(-0.0739506349513)*x[0]**o+(0.513385505957)*x[0]+(0.046977740371)*x[1]**o+(0.95763159987)*x[1]
35296            arg[0,4,0,1]=(-0.286789006223)*x[0]**o+(0.017476293519)*x[0]+(0.637378781092)*x[1]**o+(-0.670201122126)*x[1]
35297            arg[0,4,1,0]=(0.159607100455)*x[0]**o+(0.715341910227)*x[0]+(0.949546645819)*x[1]**o+(0.362982182775)*x[1]
35298            arg[0,4,1,1]=(-0.237702024358)*x[0]**o+(-0.520488841454)*x[0]+(0.606333933569)*x[1]**o+(-0.00662757701049)*x[1]
35299            arg[0,4,2,0]=(-0.415753817901)*x[0]**o+(0.731285464784)*x[0]+(0.15987336144)*x[1]**o+(0.0697706236338)*x[1]
35300            arg[0,4,2,1]=(0.0467482158427)*x[0]**o+(0.306004722736)*x[0]+(-0.905184725692)*x[1]**o+(-0.158017889366)*x[1]
35301            arg[1,0,0,0]=(-0.785535082426)*x[0]**o+(-0.189285100452)*x[0]+(-0.766349940057)*x[1]**o+(0.531469308995)*x[1]
35302            arg[1,0,0,1]=(0.522213196477)*x[0]**o+(-0.661381741437)*x[0]+(0.816089886956)*x[1]**o+(0.139829382305)*x[1]
35303            arg[1,0,1,0]=(0.0957295570417)*x[0]**o+(-0.105252674536)*x[0]+(-0.569429953382)*x[1]**o+(-0.801934666657)*x[1]
35304            arg[1,0,1,1]=(-0.557307051058)*x[0]**o+(0.218852576416)*x[0]+(0.430167216464)*x[1]**o+(-0.112285681761)*x[1]
35305            arg[1,0,2,0]=(0.288472422477)*x[0]**o+(0.294377994763)*x[0]+(-0.809503961511)*x[1]**o+(0.357020226991)*x[1]
35306            arg[1,0,2,1]=(-0.148113477705)*x[0]**o+(0.164468646294)*x[0]+(0.7977142476)*x[1]**o+(-0.407274933384)*x[1]
35307            arg[1,1,0,0]=(-0.926374434822)*x[0]**o+(-0.107713463193)*x[0]+(-0.511635723869)*x[1]**o+(0.259319717689)*x[1]
35308            arg[1,1,0,1]=(-0.18636582243)*x[0]**o+(0.698258973628)*x[0]+(0.234379281397)*x[1]**o+(0.596195875495)*x[1]
35309            arg[1,1,1,0]=(-0.180395892006)*x[0]**o+(0.631248500084)*x[0]+(0.104751616377)*x[1]**o+(0.204500206653)*x[1]
35310            arg[1,1,1,1]=(-0.517119564238)*x[0]**o+(-0.16634015634)*x[0]+(0.556785586675)*x[1]**o+(0.42659306392)*x[1]
35311            arg[1,1,2,0]=(0.163807238958)*x[0]**o+(-0.534619478446)*x[0]+(-0.700353460753)*x[1]**o+(0.121393131648)*x[1]
35312            arg[1,1,2,1]=(0.964276278961)*x[0]**o+(0.846030751304)*x[0]+(-0.745301894392)*x[1]**o+(0.33821485558)*x[1]
35313            arg[1,2,0,0]=(0.333173101086)*x[0]**o+(0.774848048743)*x[0]+(-0.659091916357)*x[1]**o+(-0.797247144497)*x[1]
35314            arg[1,2,0,1]=(0.0581394534285)*x[0]**o+(-0.524771663031)*x[0]+(-0.519465753317)*x[1]**o+(0.71748795226)*x[1]
35315            arg[1,2,1,0]=(0.224935262833)*x[0]**o+(-0.393399819306)*x[0]+(0.199349075224)*x[1]**o+(-0.808847009412)*x[1]
35316            arg[1,2,1,1]=(0.0385750795521)*x[0]**o+(-8.09949553151e-05)*x[0]+(0.496860964506)*x[1]**o+(0.0119507407829)*x[1]
35317            arg[1,2,2,0]=(0.876341556167)*x[0]**o+(0.18082766372)*x[0]+(0.401349871827)*x[1]**o+(-0.543439037303)*x[1]
35318            arg[1,2,2,1]=(-0.894525004507)*x[0]**o+(-0.516771143695)*x[0]+(0.0410916490263)*x[1]**o+(0.753841618439)*x[1]
35319            arg[1,3,0,0]=(0.251979970924)*x[0]**o+(0.790276550438)*x[0]+(-0.155708793888)*x[1]**o+(0.28971278336)*x[1]
35320            arg[1,3,0,1]=(0.258336265436)*x[0]**o+(0.696642875149)*x[0]+(0.0561355915649)*x[1]**o+(0.601839744417)*x[1]
35321            arg[1,3,1,0]=(-0.978729102785)*x[0]**o+(0.335280613262)*x[0]+(0.89228798232)*x[1]**o+(-0.693050679348)*x[1]
35322            arg[1,3,1,1]=(-0.885817753431)*x[0]**o+(-0.0641571535708)*x[0]+(-0.649578576181)*x[1]**o+(-0.95773137602)*x[1]
35323            arg[1,3,2,0]=(-0.333891001461)*x[0]**o+(-0.496064308564)*x[0]+(0.438549603377)*x[1]**o+(0.0772468142672)*x[1]
35324            arg[1,3,2,1]=(-0.16171788255)*x[0]**o+(-0.939293453222)*x[0]+(-0.284522648546)*x[1]**o+(0.744642328375)*x[1]
35325            arg[1,4,0,0]=(0.806133262332)*x[0]**o+(-0.0225320206432)*x[0]+(0.125958642606)*x[1]**o+(0.610630249467)*x[1]
35326            arg[1,4,0,1]=(0.657971870946)*x[0]**o+(0.698894701525)*x[0]+(-0.595952612496)*x[1]**o+(-0.38268841292)*x[1]
35327            arg[1,4,1,0]=(-0.277274411331)*x[0]**o+(-0.483183004514)*x[0]+(0.77656657009)*x[1]**o+(-0.959290466645)*x[1]
35328            arg[1,4,1,1]=(-0.96384356305)*x[0]**o+(-0.00383301781476)*x[0]+(0.788010409608)*x[1]**o+(0.135378744316)*x[1]
35329            arg[1,4,2,0]=(0.986761958017)*x[0]**o+(-0.570276378038)*x[0]+(-0.515784028315)*x[1]**o+(0.487125123439)*x[1]
35330            arg[1,4,2,1]=(-0.954735054702)*x[0]**o+(-0.0610323074217)*x[0]+(-0.255284859281)*x[1]**o+(0.277795725698)*x[1]
35331            arg[2,0,0,0]=(-0.708301219324)*x[0]**o+(-0.970166781553)*x[0]+(-0.0836451425855)*x[1]**o+(0.525854202995)*x[1]
35332            arg[2,0,0,1]=(-0.0995393865183)*x[0]**o+(-0.0156624820324)*x[0]+(0.225529316197)*x[1]**o+(0.142617834056)*x[1]
35333            arg[2,0,1,0]=(-0.585329524103)*x[0]**o+(0.590285924441)*x[0]+(0.201483726322)*x[1]**o+(-0.735262197689)*x[1]
35334            arg[2,0,1,1]=(-0.682877182963)*x[0]**o+(-0.162682262799)*x[0]+(-0.890051459843)*x[1]**o+(-0.0188015866765)*x[1]
35335            arg[2,0,2,0]=(0.868935476294)*x[0]**o+(-0.629891068854)*x[0]+(0.335632865663)*x[1]**o+(-0.955849055716)*x[1]
35336            arg[2,0,2,1]=(-0.907933228238)*x[0]**o+(-0.105861987974)*x[0]+(-0.131372383042)*x[1]**o+(-0.970114136854)*x[1]
35337            arg[2,1,0,0]=(-0.275788501814)*x[0]**o+(-0.992861867033)*x[0]+(-0.80676324962)*x[1]**o+(0.269244680224)*x[1]
35338            arg[2,1,0,1]=(-0.704704138774)*x[0]**o+(-0.371803193009)*x[0]+(-0.0190586405922)*x[1]**o+(-0.0828837624698)*x[1]
35339            arg[2,1,1,0]=(-0.532645566013)*x[0]**o+(0.571754809868)*x[0]+(0.656737493773)*x[1]**o+(-0.548229591842)*x[1]
35340            arg[2,1,1,1]=(0.23836921087)*x[0]**o+(0.707475737785)*x[0]+(-0.59660155968)*x[1]**o+(-0.450204951071)*x[1]
35341            arg[2,1,2,0]=(-0.534027348014)*x[0]**o+(0.332100193727)*x[0]+(-0.864157138567)*x[1]**o+(-0.41833267066)*x[1]
35342            arg[2,1,2,1]=(0.459878593269)*x[0]**o+(0.446259140228)*x[0]+(0.571242887502)*x[1]**o+(-0.0390525669486)*x[1]
35343            arg[2,2,0,0]=(0.322052799527)*x[0]**o+(-0.915265209304)*x[0]+(-0.99942007618)*x[1]**o+(0.482294513743)*x[1]
35344            arg[2,2,0,1]=(0.558489194456)*x[0]**o+(0.00400576554086)*x[0]+(-0.87484330165)*x[1]**o+(-0.664504218977)*x[1]
35345            arg[2,2,1,0]=(0.669621607461)*x[0]**o+(-0.0450960554319)*x[0]+(-0.221151480246)*x[1]**o+(0.0123621737211)*x[1]
35346            arg[2,2,1,1]=(0.476743013029)*x[0]**o+(0.11118371822)*x[0]+(-0.202074315677)*x[1]**o+(0.377649433458)*x[1]
35347            arg[2,2,2,0]=(0.667910543701)*x[0]**o+(0.035703922547)*x[0]+(-0.274733967095)*x[1]**o+(-0.998934720182)*x[1]
35348            arg[2,2,2,1]=(0.578909660087)*x[0]**o+(0.149900086514)*x[0]+(-0.226597651858)*x[1]**o+(0.169175812287)*x[1]
35349            arg[2,3,0,0]=(0.158370246586)*x[0]**o+(0.595643112285)*x[0]+(-0.476875564052)*x[1]**o+(0.869752657517)*x[1]
35350            arg[2,3,0,1]=(0.99718847714)*x[0]**o+(0.581531822297)*x[0]+(-0.607102775564)*x[1]**o+(-0.8317970284)*x[1]
35351            arg[2,3,1,0]=(-0.27390195745)*x[0]**o+(0.0512853330414)*x[0]+(0.465190666302)*x[1]**o+(0.042533388788)*x[1]
35352            arg[2,3,1,1]=(-0.183679504962)*x[0]**o+(-0.0522782076121)*x[0]+(0.921423118529)*x[1]**o+(-0.0315080275225)*x[1]
35353            arg[2,3,2,0]=(0.0421842348778)*x[0]**o+(0.462023049702)*x[0]+(-0.888342606803)*x[1]**o+(-0.956503447884)*x[1]
35354            arg[2,3,2,1]=(-0.950820288444)*x[0]**o+(0.104271990168)*x[0]+(-0.607212909582)*x[1]**o+(-0.16283931259)*x[1]
35355            arg[2,4,0,0]=(0.113505933533)*x[0]**o+(0.27873514806)*x[0]+(0.736699443523)*x[1]**o+(-0.951737555693)*x[1]
35356            arg[2,4,0,1]=(0.264170584849)*x[0]**o+(-0.226649236617)*x[0]+(0.489902180874)*x[1]**o+(-0.191536591762)*x[1]
35357            arg[2,4,1,0]=(0.712322285985)*x[0]**o+(-0.323395455815)*x[0]+(-0.298356681586)*x[1]**o+(0.699891974541)*x[1]
35358            arg[2,4,1,1]=(-0.631057763255)*x[0]**o+(-0.489374933445)*x[0]+(-0.021591806874)*x[1]**o+(-0.692800124585)*x[1]
35359            arg[2,4,2,0]=(0.916068935184)*x[0]**o+(0.33779688858)*x[0]+(0.06300443559)*x[1]**o+(-0.231385203399)*x[1]
35360            arg[2,4,2,1]=(-0.283485044625)*x[0]**o+(0.548366574442)*x[0]+(-0.543953132872)*x[1]**o+(-0.956662823037)*x[1]
35361            arg[3,0,0,0]=(0.709349274221)*x[0]**o+(-0.342981009263)*x[0]+(-0.682331761929)*x[1]**o+(0.673169884813)*x[1]
35362            arg[3,0,0,1]=(0.236249836593)*x[0]**o+(-0.682845054434)*x[0]+(-0.349169988218)*x[1]**o+(0.502684425824)*x[1]
35363            arg[3,0,1,0]=(-0.561655748793)*x[0]**o+(0.120183772326)*x[0]+(-0.966535325583)*x[1]**o+(-0.0585117264949)*x[1]
35364            arg[3,0,1,1]=(-0.661030287189)*x[0]**o+(-0.322924086505)*x[0]+(-0.986892059552)*x[1]**o+(-0.778969361365)*x[1]
35365            arg[3,0,2,0]=(-0.166307107307)*x[0]**o+(0.612931303617)*x[0]+(-0.283925165456)*x[1]**o+(0.5998038814)*x[1]
35366            arg[3,0,2,1]=(0.205099355916)*x[0]**o+(-0.520970536278)*x[0]+(0.900416833183)*x[1]**o+(0.981826306069)*x[1]
35367            arg[3,1,0,0]=(-0.875306666443)*x[0]**o+(0.0189358479861)*x[0]+(0.101187857445)*x[1]**o+(-0.873584307534)*x[1]
35368            arg[3,1,0,1]=(-0.0203656235757)*x[0]**o+(-0.579229777042)*x[0]+(-0.0799345631826)*x[1]**o+(0.896315444069)*x[1]
35369            arg[3,1,1,0]=(0.576791459982)*x[0]**o+(-0.86541815506)*x[0]+(-0.582764176207)*x[1]**o+(-0.249437395011)*x[1]
35370            arg[3,1,1,1]=(0.525953680497)*x[0]**o+(-0.222445717402)*x[0]+(-0.87710202063)*x[1]**o+(-0.762921821973)*x[1]
35371            arg[3,1,2,0]=(-0.883737185908)*x[0]**o+(0.254053241277)*x[0]+(0.559803298059)*x[1]**o+(-0.577376956856)*x[1]
35372            arg[3,1,2,1]=(-0.125792083387)*x[0]**o+(-0.771549307509)*x[0]+(0.142493480552)*x[1]**o+(0.459996962548)*x[1]
35373            arg[3,2,0,0]=(0.0531598927049)*x[0]**o+(-0.950343229037)*x[0]+(-0.748240453154)*x[1]**o+(0.850555892342)*x[1]
35374            arg[3,2,0,1]=(-0.660852152041)*x[0]**o+(-0.763119278604)*x[0]+(-0.811925409663)*x[1]**o+(-0.178765071495)*x[1]
35375            arg[3,2,1,0]=(-0.189124223305)*x[0]**o+(-0.410392909042)*x[0]+(0.993247167522)*x[1]**o+(0.291451796298)*x[1]
35376            arg[3,2,1,1]=(0.83496133421)*x[0]**o+(0.695147480265)*x[0]+(0.444420524946)*x[1]**o+(0.107454620114)*x[1]
35377            arg[3,2,2,0]=(0.94687479313)*x[0]**o+(-0.140702324395)*x[0]+(0.149203502428)*x[1]**o+(-0.338246126345)*x[1]
35378            arg[3,2,2,1]=(0.147609394709)*x[0]**o+(-0.549219765239)*x[0]+(0.397308993347)*x[1]**o+(0.0402189312685)*x[1]
35379            arg[3,3,0,0]=(0.27400981409)*x[0]**o+(-0.516367266257)*x[0]+(-0.784095952814)*x[1]**o+(0.32858899009)*x[1]
35380            arg[3,3,0,1]=(-0.393457382163)*x[0]**o+(0.590406794051)*x[0]+(0.328523918357)*x[1]**o+(0.899537513355)*x[1]
35381            arg[3,3,1,0]=(-0.851038623366)*x[0]**o+(0.596974864726)*x[0]+(-0.338630687551)*x[1]**o+(0.634961435042)*x[1]
35382            arg[3,3,1,1]=(0.569166143918)*x[0]**o+(-0.388162282491)*x[0]+(0.764830536733)*x[1]**o+(-0.426737342542)*x[1]
35383            arg[3,3,2,0]=(0.502221903448)*x[0]**o+(0.940382225897)*x[0]+(0.563444730579)*x[1]**o+(0.023210869151)*x[1]
35384            arg[3,3,2,1]=(0.061695403852)*x[0]**o+(0.868302188758)*x[0]+(0.0855803325758)*x[1]**o+(-0.24366173638)*x[1]
35385            arg[3,4,0,0]=(-0.533038182387)*x[0]**o+(0.0222388915737)*x[0]+(0.529037752769)*x[1]**o+(-0.0665320895494)*x[1]
35386            arg[3,4,0,1]=(0.714374055253)*x[0]**o+(-0.623670743333)*x[0]+(-0.866024792929)*x[1]**o+(-0.0673124896111)*x[1]
35387            arg[3,4,1,0]=(-0.0523466615045)*x[0]**o+(-0.472563426622)*x[0]+(0.139892673626)*x[1]**o+(0.539655417178)*x[1]
35388            arg[3,4,1,1]=(-0.473032580514)*x[0]**o+(0.692812093618)*x[0]+(0.664400517742)*x[1]**o+(0.184125423364)*x[1]
35389            arg[3,4,2,0]=(-0.0340798058725)*x[0]**o+(-0.58900562863)*x[0]+(0.396856384717)*x[1]**o+(-0.559175428019)*x[1]
35390            arg[3,4,2,1]=(-0.217679376634)*x[0]**o+(-0.90389036667)*x[0]+(0.967372942873)*x[1]**o+(-0.482913619277)*x[1]
35391            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]
35392            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]
35393            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]
35394            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]
35395            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]
35396            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]
35397            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]
35398            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]
35399            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]
35400            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]
35401            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]
35402            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]
35403            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]
35404            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]
35405            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]
35406            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]
35407            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]
35408            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]
35409            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]
35410            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]
35411            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]
35412            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]
35413            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]
35414            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]
35415            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]
35416            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]
35417            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]
35418            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]
35419            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]
35420            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]
35421            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]
35422            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]
35423            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]
35424            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]
35425            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]
35426            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]
35427            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]
35428            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]
35429            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]
35430            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]
35431            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]
35432            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]
35433            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]
35434            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]
35435            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]
35436            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]
35437            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]
35438            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]
35439            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]
35440            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]
35441            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]
35442            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]
35443            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]
35444            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]
35445            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]
35446            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]
35447            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]
35448            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]
35449            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]
35450            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]
35451            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]
35452            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]
35453            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]
35454            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]
35455            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]
35456            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]
35457            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]
35458            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]
35459            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]
35460            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]
35461            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]
35462            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]
35463            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]
35464            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]
35465            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]
35466            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]
35467            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]
35468            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]
35469            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]
35470            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]
35471            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]
35472            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]
35473            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]
35474            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]
35475            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]
35476            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]
35477            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]
35478            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]
35479            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]
35480            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]
35481            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]
35482            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]
35483            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]
35484            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]
35485            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]
35486            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]
35487            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]
35488            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]
35489            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]
35490            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]
35491            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]
35492            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]
35493            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]
35494            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]
35495            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]
35496            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]
35497            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]
35498            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]
35499            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]
35500            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]
35501            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]
35502            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]
35503            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]
35504            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]
35505            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]
35506            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]
35507            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]
35508            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]
35509            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]
35510            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]
35511          else:
35512            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]
35513            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]
35514            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]
35515            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]
35516            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]
35517            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]
35518            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]
35519            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]
35520            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]
35521            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]
35522            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]
35523            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]
35524            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]
35525            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]
35526            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]
35527            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]
35528            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]
35529            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]
35530            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]
35531            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]
35532            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]
35533            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]
35534            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]
35535            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]
35536            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]
35537            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]
35538            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]
35539            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]
35540            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]
35541            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]
35542            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]
35543            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]
35544            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]
35545            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]
35546            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]
35547            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]
35548            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]
35549            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]
35550            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]
35551            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]
35552            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]
35553            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]
35554            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]
35555            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]
35556            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]
35557            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]
35558            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]
35559            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]
35560            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]
35561            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]
35562            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]
35563            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]
35564            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]
35565            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]
35566            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]
35567            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]
35568            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]
35569            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]
35570            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]
35571            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]
35572            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]
35573            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]
35574            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]
35575            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]
35576            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]
35577            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]
35578            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]
35579            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]
35580            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]
35581            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]
35582            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]
35583            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]
35584            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]
35585            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]
35586            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]
35587            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]
35588            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]
35589            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]
35590            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]
35591            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]
35592            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]
35593            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]
35594            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]
35595            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]
35596            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]
35597            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]
35598            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]
35599            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]
35600            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]
35601            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]
35602            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]
35603            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]
35604            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]
35605            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]
35606            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]
35607            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]
35608            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]
35609            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]
35610            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]
35611            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]
35612            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]
35613            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]
35614            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]
35615            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]
35616            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]
35617            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]
35618            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]
35619            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]
35620            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]
35621            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]
35622            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]
35623            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]
35624            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]
35625            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]
35626            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]
35627            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]
35628            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]
35629            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]
35630            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]
35631            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]
35632            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]
35633            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]
35634            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]
35635            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]
35636            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]
35637            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]
35638            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]
35639            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]
35640            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]
35641            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]
35642            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]
35643            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]
35644            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]
35645            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]
35646            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]
35647            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]
35648            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]
35649            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]
35650            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]
35651            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]
35652            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]
35653            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]
35654            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]
35655            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]
35656            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]
35657            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]
35658            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]
35659            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]
35660            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]
35661            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]
35662            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]
35663            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]
35664            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]
35665            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]
35666            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]
35667            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]
35668            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]
35669            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]
35670            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]
35671            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]
35672            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]
35673            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]
35674            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]
35675            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]
35676            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]
35677            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]
35678            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]
35679            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]
35680            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]
35681            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]
35682            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]
35683            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]
35684            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]
35685            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]
35686            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]
35687            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]
35688            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]
35689            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]
35690            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]
35691            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]
35692            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]
35693            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]
35694            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]
35695            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]
35696            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]
35697            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]
35698            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]
35699            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]
35700            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]
35701            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]
35702            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]
35703            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]
35704            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]
35705            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]
35706            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]
35707            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]
35708            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]
35709            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]
35710            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]
35711            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]
35712            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]
35713            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]
35714            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]
35715            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]
35716            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]
35717            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]
35718            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]
35719            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]
35720            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]
35721            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]
35722            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]
35723            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]
35724            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]
35725            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]
35726            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]
35727            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]
35728            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]
35729            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]
35730            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]
35731            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]
35732            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]
35733            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]
35734            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]
35735            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]
35736            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]
35737            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]
35738            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]
35739            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]
35740            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]
35741            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]
35742            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]
35743            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]
35744            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]
35745            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]
35746            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]
35747            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]
35748            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]
35749            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]
35750            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]
35751            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]
35752          res=interpolate(arg,where=w_ref)
35753          self.failUnless(isinstance(res,Data),"wrong type of result.")
35754          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35755          self.failUnlessEqual(res.getShape(),(4, 5, 3, 2),"wrong shape of result.")
35756          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35757       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35758       def test_interpolation_onFunction_fromData_Solution_rank0(self):
35759          """
35760          tests interpolation for rank 0 Data onto the Function
35761    
35762          assumptions: self.domain supports inpterpolation from Solution onto Function
35763          """
35764          o=self.order
35765          dim=self.domain.getDim()
35766          w_ref=Function(self.domain)
35767          x_ref=w_ref.getX()
35768          w=Solution(self.domain)
35769          x=w.getX()
35770          arg=Data(0,(),w)
35771          ref=Data(0,(),w_ref)
35772          if dim==2:
35773            arg=(0.52738736047)*x[0]**o+(-0.513351179641)*x[0]+(0.466974564277)*x[1]**o+(0.247665236281)*x[1]
35774            ref=(0.52738736047)*x_ref[0]**o+(-0.513351179641)*x_ref[0]+(0.466974564277)*x_ref[1]**o+(0.247665236281)*x_ref[1]
35775          else:
35776            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]
35777            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]
35778          res=interpolate(arg,where=w_ref)
35779          self.failUnless(isinstance(res,Data),"wrong type of result.")
35780          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35781          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
35782          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35783       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35784       def test_interpolation_onFunction_fromData_Solution_rank1(self):
35785          """
35786          tests interpolation for rank 1 Data onto the Function
35787    
35788          assumptions: self.domain supports inpterpolation from Solution onto Function
35789          """
35790          o=self.order
35791          dim=self.domain.getDim()
35792          w_ref=Function(self.domain)
35793          x_ref=w_ref.getX()
35794          w=Solution(self.domain)
35795          x=w.getX()
35796          arg=Data(0,(2,),w)
35797          ref=Data(0,(2,),w_ref)
35798          if dim==2:
35799            arg[0]=(-0.738262816349)*x[0]**o+(-0.650523560236)*x[0]+(-0.344136056546)*x[1]**o+(-0.0693168099812)*x[1]
35800            arg[1]=(-0.565224044511)*x[0]**o+(0.94461728731)*x[0]+(0.234800891741)*x[1]**o+(0.836341748852)*x[1]
35801            ref[0]=(-0.738262816349)*x_ref[0]**o+(-0.650523560236)*x_ref[0]+(-0.344136056546)*x_ref[1]**o+(-0.0693168099812)*x_ref[1]
35802            ref[1]=(-0.565224044511)*x_ref[0]**o+(0.94461728731)*x_ref[0]+(0.234800891741)*x_ref[1]**o+(0.836341748852)*x_ref[1]
35803          else:
35804            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]
35805            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]
35806            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]
35807            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]
35808          res=interpolate(arg,where=w_ref)
35809          self.failUnless(isinstance(res,Data),"wrong type of result.")
35810          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35811          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
35812          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35813       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35814       def test_interpolation_onFunction_fromData_Solution_rank2(self):
35815          """
35816          tests interpolation for rank 2 Data onto the Function
35817    
35818          assumptions: self.domain supports inpterpolation from Solution onto Function
35819          """
35820          o=self.order
35821          dim=self.domain.getDim()
35822          w_ref=Function(self.domain)
35823          x_ref=w_ref.getX()
35824          w=Solution(self.domain)
35825          x=w.getX()
35826          arg=Data(0,(4, 5),w)
35827          ref=Data(0,(4, 5),w_ref)
35828          if dim==2:
35829            arg[0,0]=(-0.631349529615)*x[0]**o+(0.79216890406)*x[0]+(0.835421397222)*x[1]**o+(-0.209368192458)*x[1]
35830            arg[0,1]=(-0.166321945093)*x[0]**o+(0.701821475941)*x[0]+(-0.141804772049)*x[1]**o+(-0.860056917696)*x[1]
35831            arg[0,2]=(0.761659971379)*x[0]**o+(-0.39989119778)*x[0]+(-0.761140588562)*x[1]**o+(-0.595816184788)*x[1]
35832            arg[0,3]=(0.378518095375)*x[0]**o+(-0.880144120304)*x[0]+(0.814409656431)*x[1]**o+(0.0464425920173)*x[1]
35833            arg[0,4]=(-0.24431693596)*x[0]**o+(-0.840538735294)*x[0]+(0.0157782225732)*x[1]**o+(0.951311376091)*x[1]
35834            arg[1,0]=(0.0710042795971)*x[0]**o+(0.936106708209)*x[0]+(-0.580035969982)*x[1]**o+(0.740790378647)*x[1]
35835            arg[1,1]=(-0.807938035414)*x[0]**o+(0.8723236137)*x[0]+(-0.600615307712)*x[1]**o+(0.71483191921)*x[1]
35836            arg[1,2]=(0.454239081542)*x[0]**o+(0.966475397079)*x[0]+(-0.184649384525)*x[1]**o+(0.417686859721)*x[1]
35837            arg[1,3]=(-0.394999073966)*x[0]**o+(-0.0445825855756)*x[0]+(0.0389091203001)*x[1]**o+(-0.265569544304)*x[1]
35838            arg[1,4]=(0.625419856529)*x[0]**o+(-0.297955079048)*x[0]+(0.0092181343855)*x[1]**o+(-0.423768484981)*x[1]
35839            arg[2,0]=(0.836466109456)*x[0]**o+(-0.12515777587)*x[0]+(-0.0908815675065)*x[1]**o+(0.825332480799)*x[1]
35840            arg[2,1]=(-0.454612353892)*x[0]**o+(0.952942366642)*x[0]+(0.538638303761)*x[1]**o+(0.377957206795)*x[1]
35841            arg[2,2]=(-0.229405757447)*x[0]**o+(-0.125249012236)*x[0]+(0.194040765277)*x[1]**o+(-0.77353897054)*x[1]
35842            arg[2,3]=(-0.220514078279)*x[0]**o+(-0.937043129926)*x[0]+(0.661270617907)*x[1]**o+(0.342981486241)*x[1]
35843            arg[2,4]=(0.58858161977)*x[0]**o+(0.324813259161)*x[0]+(0.00439371077545)*x[1]**o+(0.517353738278)*x[1]
35844            arg[3,0]=(0.130001725331)*x[0]**o+(0.512570729718)*x[0]+(0.971292679928)*x[1]**o+(0.302530140373)*x[1]
35845            arg[3,1]=(0.999138842976)*x[0]**o+(0.325794749172)*x[0]+(0.94900982582)*x[1]**o+(0.56933825455)*x[1]
35846            arg[3,2]=(0.965201839092)*x[0]**o+(0.434187660328)*x[0]+(0.842238794411)*x[1]**o+(-0.754540335284)*x[1]
35847            arg[3,3]=(-0.539162954093)*x[0]**o+(-0.373779084363)*x[0]+(-0.426189858865)*x[1]**o+(-0.812351658629)*x[1]
35848            arg[3,4]=(0.871516777541)*x[0]**o+(-0.357393696308)*x[0]+(0.267358318776)*x[1]**o+(0.796701523616)*x[1]
35849            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]
35850            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]
35851            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]
35852            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]
35853            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]
35854            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]
35855            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]
35856            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]
35857            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]
35858            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]
35859            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]
35860            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]
35861            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]
35862            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]
35863            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]
35864            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]
35865            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]
35866            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]
35867            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]
35868            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]
35869          else:
35870            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]
35871            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]
35872            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]
35873            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]
35874            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]
35875            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]
35876            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]
35877            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]
35878            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]
35879            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]
35880            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]
35881            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]
35882            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]
35883            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]
35884            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]
35885            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]
35886            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]
35887            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]
35888            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]
35889            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]
35890            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]
35891            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]
35892            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]
35893            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]
35894            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]
35895            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]
35896            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]
35897            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]
35898            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]
35899            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]
35900            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]
35901            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]
35902            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]
35903            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]
35904            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]
35905            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]
35906            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]
35907            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]
35908            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]
35909            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]
35910          res=interpolate(arg,where=w_ref)
35911          self.failUnless(isinstance(res,Data),"wrong type of result.")
35912          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
35913          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
35914          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
35915       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35916       def test_interpolation_onFunction_fromData_Solution_rank3(self):
35917          """
35918          tests interpolation for rank 3 Data onto the Function
35919    
35920          assumptions: self.domain supports inpterpolation from Solution onto Function
35921          """
35922          o=self.order
35923          dim=self.domain.getDim()
35924          w_ref=Function(self.domain)
35925          x_ref=w_ref.getX()
35926          w=Solution(self.domain)
35927          x=w.getX()
35928          arg=Data(0,(6, 2, 2),w)
35929          ref=Data(0,(6, 2, 2),w_ref)
35930          if dim==2:
35931            arg[0,0,0]=(-0.232971584272)*x[0]**o+(0.391351964909)*x[0]+(-0.832254448983)*x[1]**o+(0.880762034713)*x[1]
35932            arg[0,0,1]=(0.473097471101)*x[0]**o+(-0.660862772376)*x[0]+(0.72974853865)*x[1]**o+(-0.328183435687)*x[1]
35933            arg[0,1,0]=(-0.749483736482)*x[0]**o+(0.0872454020187)*x[0]+(0.6916024322)*x[1]**o+(0.82757019273)*x[1]
35934            arg[0,1,1]=(-0.325601366346)*x[0]**o+(0.918246327277)*x[0]+(0.855963838252)*x[1]**o+(0.448567464706)*x[1]
35935            arg[1,0,0]=(-0.6642143628)*x[0]**o+(-0.82649833447)*x[0]+(0.822778465465)*x[1]**o+(-0.926669226842)*x[1]
35936            arg[1,0,1]=(-0.644490899373)*x[0]**o+(0.0644054772987)*x[0]+(-0.914922609343)*x[1]**o+(0.898880463842)*x[1]
35937            arg[1,1,0]=(0.40963096867)*x[0]**o+(-0.347418076162)*x[0]+(0.857966073118)*x[1]**o+(-0.284521442085)*x[1]
35938            arg[1,1,1]=(-0.00998062171478)*x[0]**o+(-0.234122404174)*x[0]+(-0.149500951208)*x[1]**o+(0.680038328937)*x[1]
35939            arg[2,0,0]=(-0.963777985833)*x[0]**o+(0.710727608341)*x[0]+(-0.646898391724)*x[1]**o+(-0.464095155503)*x[1]
35940            arg[2,0,1]=(-0.617670394851)*x[0]**o+(0.592337321587)*x[0]+(-0.0881426217074)*x[1]**o+(-0.00431912882662)*x[1]
35941            arg[2,1,0]=(0.871279828121)*x[0]**o+(-0.858267190204)*x[0]+(0.440863109038)*x[1]**o+(-0.912521398099)*x[1]
35942            arg[2,1,1]=(0.17802472174)*x[0]**o+(0.948587960042)*x[0]+(-0.837945850976)*x[1]**o+(0.13308730872)*x[1]
35943            arg[3,0,0]=(0.0482409149433)*x[0]**o+(-0.198100088194)*x[0]+(0.504789334224)*x[1]**o+(0.296276808608)*x[1]
35944            arg[3,0,1]=(-0.30515363985)*x[0]**o+(-0.355293167256)*x[0]+(-0.577592997685)*x[1]**o+(-0.882408725943)*x[1]
35945            arg[3,1,0]=(0.76102937294)*x[0]**o+(-0.210169673144)*x[0]+(-0.181755140891)*x[1]**o+(0.865448484187)*x[1]
35946            arg[3,1,1]=(-0.894294091863)*x[0]**o+(-0.712245666103)*x[0]+(0.151657455329)*x[1]**o+(-0.54019436763)*x[1]
35947            arg[4,0,0]=(0.860662861318)*x[0]**o+(-0.36787473166)*x[0]+(0.240406823985)*x[1]**o+(-0.381822992473)*x[1]
35948            arg[4,0,1]=(-0.109197125112)*x[0]**o+(0.962595232385)*x[0]+(-0.323876506847)*x[1]**o+(0.178613363564)*x[1]
35949            arg[4,1,0]=(0.486980313424)*x[0]**o+(-0.611294566285)*x[0]+(-0.774813150316)*x[1]**o+(0.335411840405)*x[1]
35950            arg[4,1,1]=(-0.622163740867)*x[0]**o+(0.426305234663)*x[0]+(0.243557551101)*x[1]**o+(0.930601340004)*x[1]
35951            arg[5,0,0]=(-0.232795962027)*x[0]**o+(0.49010767268)*x[0]+(-0.503693305594)*x[1]**o+(-0.915931668186)*x[1]
35952            arg[5,0,1]=(-0.304614759138)*x[0]**o+(0.797445765321)*x[0]+(-0.00820825778888)*x[1]**o+(-0.196762463972)*x[1]
35953            arg[5,1,0]=(-0.516700339456)*x[0]**o+(-0.440953905414)*x[0]+(0.875266018165)*x[1]**o+(0.780895354543)*x[1]
35954            arg[5,1,1]=(0.219827931399)*x[0]**o+(-0.950514094131)*x[0]+(-0.120763970425)*x[1]**o+(0.0941571726596)*x[1]
35955            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]
35956            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]
35957            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]
35958            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]
35959            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]
35960            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]
35961            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]
35962            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]
35963            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]
35964            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]
35965            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]
35966            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]
35967            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]
35968            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]
35969            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]
35970            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]
35971            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]
35972            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]
35973            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]
35974            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]
35975            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]
35976            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]
35977            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]
35978            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]
35979          else:
35980            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]
35981            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]
35982            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]
35983            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]
35984            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]
35985            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]
35986            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]
35987            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]
35988            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]
35989            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]
35990            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]
35991            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]
35992            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]
35993            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]
35994            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]
35995            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]
35996            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]
35997            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]
35998            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]
35999            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]
36000            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]
36001            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]
36002            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]
36003            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]
36004            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]
36005            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]
36006            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]
36007            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]
36008            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]
36009            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]
36010            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]
36011            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]
36012            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]
36013            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]
36014            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]
36015            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]
36016            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]
36017            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]
36018            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]
36019            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]
36020            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]
36021            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]
36022            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]
36023            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]
36024            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]
36025            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]
36026            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]
36027            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]
36028          res=interpolate(arg,where=w_ref)
36029          self.failUnless(isinstance(res,Data),"wrong type of result.")
36030          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36031          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
36032          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36033       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36034       def test_interpolation_onFunction_fromData_Solution_rank4(self):
36035          """
36036          tests interpolation for rank 4 Data onto the Function
36037    
36038          assumptions: self.domain supports inpterpolation from Solution onto Function
36039          """
36040          o=self.order
36041          dim=self.domain.getDim()
36042          w_ref=Function(self.domain)
36043          x_ref=w_ref.getX()
36044          w=Solution(self.domain)
36045          x=w.getX()
36046          arg=Data(0,(4, 5, 3, 2),w)
36047          ref=Data(0,(4, 5, 3, 2),w_ref)
36048          if dim==2:
36049            arg[0,0,0,0]=(0.0577426785287)*x[0]**o+(0.469845292021)*x[0]+(-0.641706722819)*x[1]**o+(0.129652001842)*x[1]
36050            arg[0,0,0,1]=(-0.87686951076)*x[0]**o+(-0.981093040999)*x[0]+(0.654637319552)*x[1]**o+(-0.953104888811)*x[1]
36051            arg[0,0,1,0]=(-0.486386436415)*x[0]**o+(0.91083470956)*x[0]+(-0.392432937401)*x[1]**o+(0.494919250884)*x[1]
36052            arg[0,0,1,1]=(0.299928502076)*x[0]**o+(-0.0787848191157)*x[0]+(-0.541863592475)*x[1]**o+(0.435934816687)*x[1]
36053            arg[0,0,2,0]=(-0.0500083438365)*x[0]**o+(-0.882581886623)*x[0]+(-0.965347357063)*x[1]**o+(-0.270254041774)*x[1]
36054            arg[0,0,2,1]=(-0.18974861517)*x[0]**o+(0.341406736671)*x[0]+(0.847020774229)*x[1]**o+(0.650201215849)*x[1]
36055            arg[0,1,0,0]=(0.0823017084719)*x[0]**o+(0.964585359235)*x[0]+(0.357658660436)*x[1]**o+(0.182585271812)*x[1]
36056            arg[0,1,0,1]=(0.863411821905)*x[0]**o+(0.313374566426)*x[0]+(-0.273547644827)*x[1]**o+(0.429051854479)*x[1]
36057            arg[0,1,1,0]=(0.167608645068)*x[0]**o+(0.926908094967)*x[0]+(-0.853415240465)*x[1]**o+(-0.376634525241)*x[1]
36058            arg[0,1,1,1]=(-0.555491961591)*x[0]**o+(-0.64621137308)*x[0]+(-0.315877124991)*x[1]**o+(-0.962839286133)*x[1]
36059            arg[0,1,2,0]=(0.909012065667)*x[0]**o+(-0.656739022976)*x[0]+(-0.458377773547)*x[1]**o+(0.394223574009)*x[1]
36060            arg[0,1,2,1]=(-0.550560496714)*x[0]**o+(0.216941875936)*x[0]+(-0.634745794924)*x[1]**o+(0.887912543217)*x[1]
36061            arg[0,2,0,0]=(-0.961535901493)*x[0]**o+(0.980336384835)*x[0]+(-0.151755000128)*x[1]**o+(0.0402841925797)*x[1]
36062            arg[0,2,0,1]=(0.571527088727)*x[0]**o+(-0.475013184811)*x[0]+(0.80051818192)*x[1]**o+(-0.589499747694)*x[1]
36063            arg[0,2,1,0]=(0.545840648612)*x[0]**o+(0.888313209612)*x[0]+(-0.568938733446)*x[1]**o+(-0.289030374342)*x[1]
36064            arg[0,2,1,1]=(-0.0631638607979)*x[0]**o+(-0.173754439841)*x[0]+(0.143503554071)*x[1]**o+(-0.0850087835084)*x[1]
36065            arg[0,2,2,0]=(0.316299661412)*x[0]**o+(0.260890197379)*x[0]+(-0.803519867776)*x[1]**o+(0.36434810185)*x[1]
36066            arg[0,2,2,1]=(-0.656013716479)*x[0]**o+(0.810499942514)*x[0]+(0.783455480815)*x[1]**o+(-0.943085466999)*x[1]
36067            arg[0,3,0,0]=(0.128153439722)*x[0]**o+(-0.404740042302)*x[0]+(0.785717360548)*x[1]**o+(-0.710818900841)*x[1]
36068            arg[0,3,0,1]=(-0.097059274787)*x[0]**o+(0.578757823228)*x[0]+(0.186146155178)*x[1]**o+(0.274602030707)*x[1]
36069            arg[0,3,1,0]=(0.00522392753954)*x[0]**o+(0.015773606982)*x[0]+(-0.327110065344)*x[1]**o+(0.15571120542)*x[1]
36070            arg[0,3,1,1]=(-0.14009116305)*x[0]**o+(-0.659975337811)*x[0]+(-0.297582833489)*x[1]**o+(-0.600935015071)*x[1]
36071            arg[0,3,2,0]=(0.749388604357)*x[0]**o+(0.762968650778)*x[0]+(-0.623477518339)*x[1]**o+(-0.931762943135)*x[1]
36072            arg[0,3,2,1]=(0.748396100632)*x[0]**o+(-0.841314360401)*x[0]+(0.432649446216)*x[1]**o+(-0.971300843628)*x[1]
36073            arg[0,4,0,0]=(-0.217249090357)*x[0]**o+(-0.833633675601)*x[0]+(0.169984305627)*x[1]**o+(-0.831738272666)*x[1]
36074            arg[0,4,0,1]=(0.501571101669)*x[0]**o+(-0.223897334788)*x[0]+(0.24178181976)*x[1]**o+(0.307921789017)*x[1]
36075            arg[0,4,1,0]=(-0.162064610564)*x[0]**o+(0.217669674603)*x[0]+(0.995517866562)*x[1]**o+(0.903061734589)*x[1]
36076            arg[0,4,1,1]=(-0.837150436928)*x[0]**o+(0.465269468525)*x[0]+(0.522034182082)*x[1]**o+(-0.725469921625)*x[1]
36077            arg[0,4,2,0]=(-0.295739906169)*x[0]**o+(0.961959220618)*x[0]+(0.577799918942)*x[1]**o+(-0.313255108148)*x[1]
36078            arg[0,4,2,1]=(-0.455635927062)*x[0]**o+(0.667038701641)*x[0]+(-0.151183772961)*x[1]**o+(-0.550197828316)*x[1]
36079            arg[1,0,0,0]=(0.585510684472)*x[0]**o+(-0.64754219493)*x[0]+(0.781495111863)*x[1]**o+(-0.792246214695)*x[1]
36080            arg[1,0,0,1]=(0.586346471397)*x[0]**o+(0.291794158138)*x[0]+(-0.614723564286)*x[1]**o+(-0.151451723805)*x[1]
36081            arg[1,0,1,0]=(-0.472877220222)*x[0]**o+(-0.0118252391089)*x[0]+(-0.596943135354)*x[1]**o+(-0.413992986066)*x[1]
36082            arg[1,0,1,1]=(-0.715007718152)*x[0]**o+(0.032964784403)*x[0]+(-0.350680745946)*x[1]**o+(0.678841285054)*x[1]
36083            arg[1,0,2,0]=(0.673910318085)*x[0]**o+(-0.15303471314)*x[0]+(-0.0889279944344)*x[1]**o+(-0.0356474498002)*x[1]
36084            arg[1,0,2,1]=(-0.875691348779)*x[0]**o+(0.547300853671)*x[0]+(-0.362646169132)*x[1]**o+(-0.588521964671)*x[1]
36085            arg[1,1,0,0]=(-0.0988912551145)*x[0]**o+(-0.710944394432)*x[0]+(0.153875249337)*x[1]**o+(0.274427434926)*x[1]
36086            arg[1,1,0,1]=(-0.0854272185591)*x[0]**o+(-0.21840195791)*x[0]+(0.906982245924)*x[1]**o+(0.570990116211)*x[1]
36087            arg[1,1,1,0]=(-0.851259116331)*x[0]**o+(0.309829955487)*x[0]+(0.115725082696)*x[1]**o+(-0.91590292189)*x[1]
36088            arg[1,1,1,1]=(-0.637464462703)*x[0]**o+(-0.280971672162)*x[0]+(0.270985403603)*x[1]**o+(-0.534115311397)*x[1]
36089            arg[1,1,2,0]=(0.670179973397)*x[0]**o+(0.847483793904)*x[0]+(0.0681088634526)*x[1]**o+(0.412176359729)*x[1]
36090            arg[1,1,2,1]=(0.0378205172485)*x[0]**o+(0.974150495292)*x[0]+(-0.720821275299)*x[1]**o+(-0.552588296494)*x[1]
36091            arg[1,2,0,0]=(0.151367609975)*x[0]**o+(0.832981586349)*x[0]+(0.419488381843)*x[1]**o+(0.561052438283)*x[1]
36092            arg[1,2,0,1]=(0.267839010425)*x[0]**o+(0.47455974064)*x[0]+(0.498826652567)*x[1]**o+(-0.51906391205)*x[1]
36093            arg[1,2,1,0]=(-0.350105107527)*x[0]**o+(-0.489326689724)*x[0]+(-0.156970199109)*x[1]**o+(-0.175565230472)*x[1]
36094            arg[1,2,1,1]=(0.754379973459)*x[0]**o+(-0.70691373234)*x[0]+(-0.964497356137)*x[1]**o+(-0.694989442192)*x[1]
36095            arg[1,2,2,0]=(-0.491090361655)*x[0]**o+(0.154379441501)*x[0]+(0.403809695039)*x[1]**o+(-0.084183660554)*x[1]
36096            arg[1,2,2,1]=(-0.164538235223)*x[0]**o+(0.628058472821)*x[0]+(0.331956969519)*x[1]**o+(0.828755643202)*x[1]
36097            arg[1,3,0,0]=(0.103479416566)*x[0]**o+(0.380691196177)*x[0]+(-0.350375360146)*x[1]**o+(0.18528492785)*x[1]
36098            arg[1,3,0,1]=(-0.0744423760559)*x[0]**o+(0.912275380092)*x[0]+(0.867254399179)*x[1]**o+(0.410307184344)*x[1]
36099            arg[1,3,1,0]=(-0.480324052626)*x[0]**o+(-0.438544962062)*x[0]+(0.749575808465)*x[1]**o+(-0.0689669475685)*x[1]
36100            arg[1,3,1,1]=(0.723325499611)*x[0]**o+(-0.368668363075)*x[0]+(0.404302895836)*x[1]**o+(0.66913878408)*x[1]
36101            arg[1,3,2,0]=(-0.122189168877)*x[0]**o+(0.603362404944)*x[0]+(0.184163482697)*x[1]**o+(0.728136755361)*x[1]
36102            arg[1,3,2,1]=(-0.149430048386)*x[0]**o+(-0.478108072433)*x[0]+(0.342479834611)*x[1]**o+(0.596757508109)*x[1]
36103            arg[1,4,0,0]=(0.334694167334)*x[0]**o+(-0.815793032292)*x[0]+(0.394250112116)*x[1]**o+(0.269197166808)*x[1]
36104            arg[1,4,0,1]=(-0.19210954081)*x[0]**o+(0.416736181257)*x[0]+(0.146217029416)*x[1]**o+(0.906316717458)*x[1]
36105            arg[1,4,1,0]=(-0.708061018673)*x[0]**o+(0.299200707691)*x[0]+(0.665111947965)*x[1]**o+(-0.0340170473314)*x[1]
36106            arg[1,4,1,1]=(0.0353929744202)*x[0]**o+(0.0493194235067)*x[0]+(-0.12215424813)*x[1]**o+(-0.758677440837)*x[1]
36107            arg[1,4,2,0]=(0.769702957701)*x[0]**o+(0.901805654682)*x[0]+(0.260222241019)*x[1]**o+(-0.471997705392)*x[1]
36108            arg[1,4,2,1]=(0.204258068316)*x[0]**o+(-0.173085114573)*x[0]+(-0.0253164178046)*x[1]**o+(0.84254484259)*x[1]
36109            arg[2,0,0,0]=(-0.688170206644)*x[0]**o+(-0.718673702314)*x[0]+(0.834265379201)*x[1]**o+(-0.879925159193)*x[1]
36110            arg[2,0,0,1]=(-0.515401334666)*x[0]**o+(-0.810523180967)*x[0]+(0.725182741017)*x[1]**o+(-0.74319471007)*x[1]
36111            arg[2,0,1,0]=(-0.799698108602)*x[0]**o+(0.289222327549)*x[0]+(0.0589402409999)*x[1]**o+(-0.437669765839)*x[1]
36112            arg[2,0,1,1]=(-0.734933454418)*x[0]**o+(0.371391146956)*x[0]+(-0.17797293763)*x[1]**o+(-0.499412028554)*x[1]
36113            arg[2,0,2,0]=(0.217283159505)*x[0]**o+(-0.184871188378)*x[0]+(-0.764095670777)*x[1]**o+(0.103705507755)*x[1]
36114            arg[2,0,2,1]=(0.578071527416)*x[0]**o+(0.845365737459)*x[0]+(-0.173187973137)*x[1]**o+(-0.827819925403)*x[1]
36115            arg[2,1,0,0]=(-0.258505119864)*x[0]**o+(0.640873475074)*x[0]+(-0.993841847675)*x[1]**o+(0.347490565123)*x[1]
36116            arg[2,1,0,1]=(0.224893445547)*x[0]**o+(0.827208591218)*x[0]+(0.0391563892525)*x[1]**o+(-0.320939200596)*x[1]
36117            arg[2,1,1,0]=(-0.993044884903)*x[0]**o+(-0.395235414086)*x[0]+(-0.447460653655)*x[1]**o+(-0.114585622808)*x[1]
36118            arg[2,1,1,1]=(0.908711735866)*x[0]**o+(-0.911405008413)*x[0]+(-0.798601192961)*x[1]**o+(-0.432937813587)*x[1]
36119            arg[2,1,2,0]=(-0.270424920067)*x[0]**o+(-0.533648944143)*x[0]+(0.184307763968)*x[1]**o+(-0.802221601505)*x[1]
36120            arg[2,1,2,1]=(0.154432841861)*x[0]**o+(0.306458633794)*x[0]+(0.0343421658454)*x[1]**o+(-0.768559457414)*x[1]
36121            arg[2,2,0,0]=(-0.497828132445)*x[0]**o+(0.484920248315)*x[0]+(-0.188239341875)*x[1]**o+(0.100360622012)*x[1]
36122            arg[2,2,0,1]=(-0.0433518780446)*x[0]**o+(0.119470819101)*x[0]+(0.344025017428)*x[1]**o+(0.667394126898)*x[1]
36123            arg[2,2,1,0]=(0.512271795846)*x[0]**o+(0.567024910623)*x[0]+(-0.316191920076)*x[1]**o+(-0.202135136851)*x[1]
36124            arg[2,2,1,1]=(0.781678855797)*x[0]**o+(0.159208533718)*x[0]+(-0.930150837465)*x[1]**o+(-0.666903895504)*x[1]
36125            arg[2,2,2,0]=(0.292270965732)*x[0]**o+(-0.112877441048)*x[0]+(-0.643355582049)*x[1]**o+(-0.0482560996171)*x[1]
36126            arg[2,2,2,1]=(0.638688065872)*x[0]**o+(0.787719224138)*x[0]+(0.815312681592)*x[1]**o+(0.334735776221)*x[1]
36127            arg[2,3,0,0]=(0.409920519672)*x[0]**o+(-0.191886243537)*x[0]+(-0.348205383522)*x[1]**o+(-0.651065510647)*x[1]
36128            arg[2,3,0,1]=(0.824428500178)*x[0]**o+(-0.909533490456)*x[0]+(-0.455079541262)*x[1]**o+(-0.613994310127)*x[1]
36129            arg[2,3,1,0]=(0.225908995914)*x[0]**o+(0.258098741048)*x[0]+(-0.858905205327)*x[1]**o+(0.535845140874)*x[1]
36130            arg[2,3,1,1]=(-0.183600641837)*x[0]**o+(-0.0436432564818)*x[0]+(0.306524301109)*x[1]**o+(0.662513699164)*x[1]
36131            arg[2,3,2,0]=(-0.678973103555)*x[0]**o+(0.674110571991)*x[0]+(-0.129743880618)*x[1]**o+(-0.210759231178)*x[1]
36132            arg[2,3,2,1]=(-0.594989617102)*x[0]**o+(0.0557145839856)*x[0]+(-0.379516802094)*x[1]**o+(-0.496127170036)*x[1]
36133            arg[2,4,0,0]=(0.401088886175)*x[0]**o+(-0.208580896076)*x[0]+(-0.655582275521)*x[1]**o+(-0.522892532154)*x[1]
36134            arg[2,4,0,1]=(0.609111916382)*x[0]**o+(-0.864603847696)*x[0]+(-0.373482060442)*x[1]**o+(0.048777005392)*x[1]
36135            arg[2,4,1,0]=(-0.503935244799)*x[0]**o+(0.320517360825)*x[0]+(-0.658994963813)*x[1]**o+(0.00465823412972)*x[1]
36136            arg[2,4,1,1]=(-0.202767966863)*x[0]**o+(0.737239608437)*x[0]+(-0.633206522406)*x[1]**o+(-0.408531988781)*x[1]
36137            arg[2,4,2,0]=(0.660048575091)*x[0]**o+(-0.399137043056)*x[0]+(-0.0977181117895)*x[1]**o+(0.148903352776)*x[1]
36138            arg[2,4,2,1]=(-0.396768795712)*x[0]**o+(-0.550388681028)*x[0]+(0.0946256561554)*x[1]**o+(-0.0566941754267)*x[1]
36139            arg[3,0,0,0]=(0.0647180650687)*x[0]**o+(0.920788893299)*x[0]+(0.131306350033)*x[1]**o+(-0.840527983774)*x[1]
36140            arg[3,0,0,1]=(0.451700262969)*x[0]**o+(-0.16104676139)*x[0]+(0.114145999713)*x[1]**o+(-0.949265482931)*x[1]
36141            arg[3,0,1,0]=(-0.219444617083)*x[0]**o+(0.846470673388)*x[0]+(-0.341392225388)*x[1]**o+(-0.721912717627)*x[1]
36142            arg[3,0,1,1]=(-0.199502120929)*x[0]**o+(-0.00662410675554)*x[0]+(0.0529013037694)*x[1]**o+(-0.022278580228)*x[1]
36143            arg[3,0,2,0]=(0.803500732535)*x[0]**o+(0.754138333448)*x[0]+(0.822404687478)*x[1]**o+(0.900099584934)*x[1]
36144            arg[3,0,2,1]=(0.84674757393)*x[0]**o+(0.326823539079)*x[0]+(-0.824446392056)*x[1]**o+(-0.506583766552)*x[1]
36145            arg[3,1,0,0]=(0.816775849327)*x[0]**o+(0.957523430402)*x[0]+(-0.822535686534)*x[1]**o+(-0.583389123083)*x[1]
36146            arg[3,1,0,1]=(0.518120693337)*x[0]**o+(0.0946135115511)*x[0]+(0.577364260402)*x[1]**o+(-0.677435109716)*x[1]
36147            arg[3,1,1,0]=(-0.559041961891)*x[0]**o+(0.436791134026)*x[0]+(0.287609046653)*x[1]**o+(-0.484573207793)*x[1]
36148            arg[3,1,1,1]=(-0.0786041693053)*x[0]**o+(0.793526931222)*x[0]+(0.055780633982)*x[1]**o+(0.0447074319839)*x[1]
36149            arg[3,1,2,0]=(-0.190231018951)*x[0]**o+(-0.61318830169)*x[0]+(-0.157202158534)*x[1]**o+(-0.823043159126)*x[1]
36150            arg[3,1,2,1]=(-0.502637901786)*x[0]**o+(0.781083145697)*x[0]+(-0.663013942651)*x[1]**o+(-0.305726874525)*x[1]
36151            arg[3,2,0,0]=(0.566955929517)*x[0]**o+(-0.506981068575)*x[0]+(-0.831439289654)*x[1]**o+(-0.337491442765)*x[1]
36152            arg[3,2,0,1]=(-0.713648844422)*x[0]**o+(-0.00815764297609)*x[0]+(0.829706206618)*x[1]**o+(0.96471376965)*x[1]
36153            arg[3,2,1,0]=(-0.944705561715)*x[0]**o+(-0.87962603172)*x[0]+(-0.0525190846342)*x[1]**o+(-0.0457463400515)*x[1]
36154            arg[3,2,1,1]=(0.54922446571)*x[0]**o+(0.651923573438)*x[0]+(-0.00229398468376)*x[1]**o+(-0.00170863787749)*x[1]
36155            arg[3,2,2,0]=(0.622372079685)*x[0]**o+(-0.553578221845)*x[0]+(-0.737877450857)*x[1]**o+(0.459729854002)*x[1]
36156            arg[3,2,2,1]=(0.826155732508)*x[0]**o+(-0.000468898258991)*x[0]+(-0.255179342686)*x[1]**o+(-0.80957312045)*x[1]
36157            arg[3,3,0,0]=(-0.195212469839)*x[0]**o+(-0.0235216449547)*x[0]+(-0.175192639485)*x[1]**o+(-0.58937661213)*x[1]
36158            arg[3,3,0,1]=(-0.931538910404)*x[0]**o+(0.649282880007)*x[0]+(-0.237841482637)*x[1]**o+(-0.0220516220802)*x[1]
36159            arg[3,3,1,0]=(0.420911057166)*x[0]**o+(0.200126728184)*x[0]+(-0.829130861656)*x[1]**o+(-0.563462916661)*x[1]
36160            arg[3,3,1,1]=(-0.148199974575)*x[0]**o+(-0.248825389533)*x[0]+(-0.346424894584)*x[1]**o+(0.339758232978)*x[1]
36161            arg[3,3,2,0]=(0.249372496215)*x[0]**o+(-0.343626915746)*x[0]+(0.0961351845087)*x[1]**o+(0.612679249068)*x[1]
36162            arg[3,3,2,1]=(0.985380582259)*x[0]**o+(-0.603514318626)*x[0]+(-0.131105546364)*x[1]**o+(-0.0798158697238)*x[1]
36163            arg[3,4,0,0]=(0.478635365792)*x[0]**o+(-0.964424450881)*x[0]+(-0.469995535544)*x[1]**o+(-0.72871149515)*x[1]
36164            arg[3,4,0,1]=(-0.264802297415)*x[0]**o+(-0.926518282507)*x[0]+(0.803390182149)*x[1]**o+(0.387910762706)*x[1]
36165            arg[3,4,1,0]=(0.0452448579909)*x[0]**o+(-0.0482221515826)*x[0]+(-0.728020494982)*x[1]**o+(-0.288823633249)*x[1]
36166            arg[3,4,1,1]=(-0.640459595265)*x[0]**o+(0.759525453728)*x[0]+(-0.0280300707884)*x[1]**o+(0.079438187123)*x[1]
36167            arg[3,4,2,0]=(-0.14185171171)*x[0]**o+(-0.810989314052)*x[0]+(0.921902325773)*x[1]**o+(0.885920658784)*x[1]
36168            arg[3,4,2,1]=(-0.0101259901393)*x[0]**o+(-0.696541046542)*x[0]+(0.127932822496)*x[1]**o+(-0.822265796323)*x[1]
36169            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]
36170            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]
36171            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]
36172            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]
36173            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]
36174            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]
36175            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]
36176            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]
36177            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]
36178            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]
36179            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]
36180            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]
36181            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]
36182            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]
36183            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]
36184            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]
36185            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]
36186            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]
36187            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]
36188            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]
36189            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]
36190            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]
36191            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]
36192            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]
36193            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]
36194            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]
36195            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]
36196            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]
36197            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]
36198            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]
36199            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]
36200            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]
36201            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]
36202            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]
36203            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]
36204            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]
36205            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]
36206            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]
36207            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]
36208            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]
36209            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]
36210            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]
36211            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]
36212            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]
36213            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]
36214            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]
36215            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]
36216            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]
36217            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]
36218            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]
36219            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]
36220            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]
36221            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]
36222            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]
36223            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]
36224            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]
36225            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]
36226            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]
36227            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]
36228            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]
36229            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]
36230            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]
36231            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]
36232            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]
36233            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]
36234            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]
36235            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]
36236            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]
36237            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]
36238            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]
36239            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]
36240            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]
36241            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]
36242            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]
36243            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]
36244            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]
36245            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]
36246            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]
36247            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]
36248            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]
36249            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]
36250            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]
36251            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]
36252            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]
36253            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]
36254            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]
36255            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]
36256            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]
36257            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]
36258            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]
36259            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]
36260            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]
36261            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]
36262            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]
36263            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]
36264            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]
36265            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]
36266            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]
36267            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]
36268            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]
36269            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]
36270            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]
36271            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]
36272            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]
36273            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]
36274            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]
36275            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]
36276            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]
36277            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]
36278            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]
36279            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]
36280            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]
36281            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]
36282            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]
36283            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]
36284            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]
36285            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]
36286            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]
36287            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]
36288            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]
36289          else:
36290            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]
36291            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]
36292            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]
36293            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]
36294            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]
36295            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]
36296            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]
36297            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]
36298            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]
36299            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]
36300            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]
36301            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]
36302            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]
36303            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]
36304            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]
36305            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]
36306            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]
36307            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]
36308            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]
36309            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]
36310            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]
36311            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]
36312            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]
36313            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]
36314            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]
36315            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]
36316            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]
36317            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]
36318            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]
36319            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]
36320            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]
36321            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]
36322            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]
36323            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]
36324            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]
36325            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]
36326            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]
36327            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]
36328            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]
36329            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]
36330            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]
36331            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]
36332            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]
36333            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]
36334            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]
36335            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]
36336            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]
36337            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]
36338            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]
36339            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]
36340            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]
36341            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]
36342            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]
36343            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]
36344            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]
36345            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]
36346            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]
36347            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]
36348            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]
36349            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]
36350            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]
36351            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]
36352            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]
36353            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]
36354            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]
36355            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]
36356            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]
36357            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]
36358            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]
36359            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]
36360            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]
36361            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]
36362            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]
36363            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]
36364            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]
36365            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]
36366            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]
36367            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]
36368            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]
36369            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]
36370            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]
36371            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]
36372            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]
36373            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]
36374            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]
36375            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]
36376            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]
36377            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]
36378            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]
36379            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]
36380            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]
36381            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]
36382            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]
36383            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]
36384            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]
36385            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]
36386            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]
36387            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]
36388            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]
36389            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]
36390            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]
36391            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]
36392            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]
36393            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]
36394            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]
36395            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]
36396            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]
36397            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]
36398            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]
36399            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]
36400            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]
36401            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]
36402            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]
36403            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]
36404            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]
36405            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]
36406            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]
36407            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]
36408            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]
36409            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]
36410            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]
36411            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]
36412            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]
36413            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]
36414            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]
36415            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]
36416            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]
36417            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]
36418            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]
36419            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]
36420            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]
36421            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]
36422            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]
36423            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]
36424            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]
36425            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]
36426            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]
36427            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]
36428            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]
36429            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]
36430            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]
36431            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]
36432            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]
36433            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]
36434            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]
36435            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]
36436            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]
36437            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]
36438            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]
36439            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]
36440            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]
36441            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]
36442            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]
36443            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]
36444            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]
36445            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]
36446            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]
36447            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]
36448            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]
36449            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]
36450            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]
36451            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]
36452            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]
36453            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]
36454            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]
36455            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]
36456            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]
36457            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]
36458            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]
36459            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]
36460            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]
36461            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]
36462            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]
36463            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]
36464            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]
36465            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]
36466            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]
36467            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]
36468            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]
36469            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]
36470            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]
36471            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]
36472            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]
36473            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]
36474            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]
36475            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]
36476            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]
36477            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]
36478            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]
36479            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]
36480            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]
36481            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]
36482            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]
36483            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]
36484            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]
36485            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]
36486            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]
36487            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]
36488            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]
36489            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]
36490            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]
36491            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]
36492            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]
36493            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]
36494            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]
36495            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]
36496            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]
36497            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]
36498            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]
36499            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]
36500            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]
36501            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]
36502            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]
36503            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]
36504            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]
36505            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]
36506            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]
36507            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]
36508            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]
36509            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]
36510            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]
36511            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]
36512            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]
36513            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]
36514            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]
36515            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]
36516            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]
36517            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]
36518            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]
36519            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]
36520            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]
36521            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]
36522            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]
36523            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]
36524            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]
36525            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]
36526            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]
36527            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]
36528            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]
36529            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]
36530          res=interpolate(arg,where=w_ref)
36531          self.failUnless(isinstance(res,Data),"wrong type of result.")
36532          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36533          self.failUnlessEqual(res.getShape(),(4, 5, 3, 2),"wrong shape of result.")
36534          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36535       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36536       def test_interpolation_onFunction_fromData_ReducedSolution_rank0(self):
36537          """
36538          tests interpolation for rank 0 Data onto the Function
36539    
36540          assumptions: self.domain supports inpterpolation from ReducedSolution onto Function
36541          """
36542          o=1
36543          dim=self.domain.getDim()
36544          w_ref=Function(self.domain)
36545          x_ref=w_ref.getX()
36546          w=ReducedSolution(self.domain)
36547          x=w.getX()
36548          arg=Data(0,(),w)
36549          ref=Data(0,(),w_ref)
36550          if dim==2:
36551            arg=(1.66854814732)*x[0]+(1.38199165128)*x[1]
36552            ref=(1.66854814732)*x_ref[0]+(1.38199165128)*x_ref[1]
36553          else:
36554            arg=(-0.426142624852)*x[0]+(0.0492229050252)*x[1]+(-0.821661899519)*x[2]
36555            ref=(-0.426142624852)*x_ref[0]+(0.0492229050252)*x_ref[1]+(-0.821661899519)*x_ref[2]
36556          res=interpolate(arg,where=w_ref)
36557          self.failUnless(isinstance(res,Data),"wrong type of result.")
36558          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36559          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
36560          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36561       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36562       def test_interpolation_onFunction_fromData_ReducedSolution_rank1(self):
36563          """
36564          tests interpolation for rank 1 Data onto the Function
36565    
36566          assumptions: self.domain supports inpterpolation from ReducedSolution onto Function
36567          """
36568          o=1
36569          dim=self.domain.getDim()
36570          w_ref=Function(self.domain)
36571          x_ref=w_ref.getX()
36572          w=ReducedSolution(self.domain)
36573          x=w.getX()
36574          arg=Data(0,(2,),w)
36575          ref=Data(0,(2,),w_ref)
36576          if dim==2:
36577            arg[0]=(0.287050581427)*x[0]+(0.0745644988438)*x[1]
36578            arg[1]=(-0.279090829341)*x[0]+(-0.100758565381)*x[1]
36579            ref[0]=(0.287050581427)*x[0]+(0.0745644988438)*x[1]
36580            ref[1]=(-0.279090829341)*x[0]+(-0.100758565381)*x[1]
36581          else:
36582            arg[0]=(-0.367806366245)*x[0]+(0.0185557433717)*x[1]+(1.14806419827)*x[2]
36583            arg[1]=(-0.588016618937)*x[0]+(-1.03057423712)*x[1]+(-0.0359765566708)*x[2]
36584            ref[0]=(-0.367806366245)*x[0]+(0.0185557433717)*x[1]+(1.14806419827)*x[2]
36585            ref[1]=(-0.588016618937)*x[0]+(-1.03057423712)*x[1]+(-0.0359765566708)*x[2]
36586          res=interpolate(arg,where=w_ref)
36587          self.failUnless(isinstance(res,Data),"wrong type of result.")
36588          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36589          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
36590          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36591       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36592       def test_interpolation_onFunction_fromData_ReducedSolution_rank2(self):
36593          """
36594          tests interpolation for rank 2 Data onto the Function
36595    
36596          assumptions: self.domain supports inpterpolation from ReducedSolution onto Function
36597          """
36598          o=1
36599          dim=self.domain.getDim()
36600          w_ref=Function(self.domain)
36601          x_ref=w_ref.getX()
36602          w=ReducedSolution(self.domain)
36603          x=w.getX()
36604          arg=Data(0,(4, 5),w)
36605          ref=Data(0,(4, 5),w_ref)
36606          if dim==2:
36607            arg[0,0]=(-0.178459116054)*x[0]+(-0.908190366917)*x[1]
36608            arg[0,1]=(-0.365861276878)*x[0]+(-1.57557211363)*x[1]
36609            arg[0,2]=(-1.22266296874)*x[0]+(0.476090041507)*x[1]
36610            arg[0,3]=(0.0677955238995)*x[0]+(-0.899620825938)*x[1]
36611            arg[0,4]=(-0.29315929952)*x[0]+(-0.0589414650397)*x[1]
36612            arg[1,0]=(-0.510486453858)*x[0]+(0.960724573137)*x[1]
36613            arg[1,1]=(-0.316955543)*x[0]+(-0.160275601404)*x[1]
36614            arg[1,2]=(-0.960162300557)*x[0]+(0.426685726779)*x[1]
36615            arg[1,3]=(-0.458645373633)*x[0]+(0.623646469232)*x[1]
36616            arg[1,4]=(-0.831993675808)*x[0]+(-0.380162434858)*x[1]
36617            arg[2,0]=(-0.0614446129662)*x[0]+(0.442134320884)*x[1]
36618            arg[2,1]=(-0.0466135888936)*x[0]+(0.465021672347)*x[1]
36619            arg[2,2]=(-1.69520946599)*x[0]+(-1.69200166455)*x[1]
36620            arg[2,3]=(0.928809309584)*x[0]+(-0.344012063367)*x[1]
36621            arg[2,4]=(0.557754072268)*x[0]+(-0.0104949991147)*x[1]
36622            arg[3,0]=(0.0683969753885)*x[0]+(1.59892831147)*x[1]
36623            arg[3,1]=(0.90059768275)*x[0]+(1.4136644906)*x[1]
36624            arg[3,2]=(-0.397873855228)*x[0]+(-0.876192378488)*x[1]
36625            arg[3,3]=(-1.71837532502)*x[0]+(-0.911585940448)*x[1]
36626            arg[3,4]=(-1.619565287)*x[0]+(-0.911830282675)*x[1]
36627            ref[0,0]=(-0.178459116054)*x_ref[0]+(-0.908190366917)*x_ref[1]
36628            ref[0,1]=(-0.365861276878)*x_ref[0]+(-1.57557211363)*x_ref[1]
36629            ref[0,2]=(-1.22266296874)*x_ref[0]+(0.476090041507)*x_ref[1]
36630            ref[0,3]=(0.0677955238995)*x_ref[0]+(-0.899620825938)*x_ref[1]
36631            ref[0,4]=(-0.29315929952)*x_ref[0]+(-0.0589414650397)*x_ref[1]
36632            ref[1,0]=(-0.510486453858)*x_ref[0]+(0.960724573137)*x_ref[1]
36633            ref[1,1]=(-0.316955543)*x_ref[0]+(-0.160275601404)*x_ref[1]
36634            ref[1,2]=(-0.960162300557)*x_ref[0]+(0.426685726779)*x_ref[1]
36635            ref[1,3]=(-0.458645373633)*x_ref[0]+(0.623646469232)*x_ref[1]
36636            ref[1,4]=(-0.831993675808)*x_ref[0]+(-0.380162434858)*x_ref[1]
36637            ref[2,0]=(-0.0614446129662)*x_ref[0]+(0.442134320884)*x_ref[1]
36638            ref[2,1]=(-0.0466135888936)*x_ref[0]+(0.465021672347)*x_ref[1]
36639            ref[2,2]=(-1.69520946599)*x_ref[0]+(-1.69200166455)*x_ref[1]
36640            ref[2,3]=(0.928809309584)*x_ref[0]+(-0.344012063367)*x_ref[1]
36641            ref[2,4]=(0.557754072268)*x_ref[0]+(-0.0104949991147)*x_ref[1]
36642            ref[3,0]=(0.0683969753885)*x_ref[0]+(1.59892831147)*x_ref[1]
36643            ref[3,1]=(0.90059768275)*x_ref[0]+(1.4136644906)*x_ref[1]
36644            ref[3,2]=(-0.397873855228)*x_ref[0]+(-0.876192378488)*x_ref[1]
36645            ref[3,3]=(-1.71837532502)*x_ref[0]+(-0.911585940448)*x_ref[1]
36646            ref[3,4]=(-1.619565287)*x_ref[0]+(-0.911830282675)*x_ref[1]
36647          else:
36648            arg[0,0]=(-0.822599790066)*x[0]+(-1.22492139307)*x[1]+(-0.696878025616)*x[2]
36649            arg[0,1]=(0.600762284033)*x[0]+(-0.157734608915)*x[1]+(-0.729304703393)*x[2]
36650            arg[0,2]=(-1.42910707426)*x[0]+(1.46395956796)*x[1]+(1.38800770798)*x[2]
36651            arg[0,3]=(1.2198448221)*x[0]+(0.0898753488356)*x[1]+(0.976038279019)*x[2]
36652            arg[0,4]=(-0.616927403743)*x[0]+(1.41159934363)*x[1]+(-1.74783039584)*x[2]
36653            arg[1,0]=(-0.101387750238)*x[0]+(-0.294997280251)*x[1]+(0.247605331103)*x[2]
36654            arg[1,1]=(-0.320864335195)*x[0]+(-0.202828013922)*x[1]+(-0.366246434001)*x[2]
36655            arg[1,2]=(-0.827685495006)*x[0]+(-0.236835428287)*x[1]+(-1.48668813903)*x[2]
36656            arg[1,3]=(0.56131602615)*x[0]+(-0.572858337349)*x[1]+(0.701775515666)*x[2]
36657            arg[1,4]=(-1.09228098916)*x[0]+(-0.0251387524711)*x[1]+(1.91587136325)*x[2]
36658            arg[2,0]=(-0.0758503728265)*x[0]+(0.236248603718)*x[1]+(0.0446858988194)*x[2]
36659            arg[2,1]=(-1.1745073907)*x[0]+(-0.519328441654)*x[1]+(-1.19738117811)*x[2]
36660            arg[2,2]=(-0.018812738143)*x[0]+(1.00051415805)*x[1]+(-0.620776442731)*x[2]
36661            arg[2,3]=(-0.430333705208)*x[0]+(0.136368267739)*x[1]+(0.59767563861)*x[2]
36662            arg[2,4]=(1.54336203988)*x[0]+(0.106189845211)*x[1]+(1.53097571242)*x[2]
36663            arg[3,0]=(-0.00451956527502)*x[0]+(0.710318142757)*x[1]+(0.386947317474)*x[2]
36664            arg[3,1]=(1.22013531098)*x[0]+(-0.735641779691)*x[1]+(-0.0137925239152)*x[2]
36665            arg[3,2]=(0.0949363128405)*x[0]+(-0.0778790744582)*x[1]+(-0.466004036944)*x[2]
36666            arg[3,3]=(0.656445527911)*x[0]+(1.67275242688)*x[1]+(-0.0946012389031)*x[2]
36667            arg[3,4]=(0.927582093503)*x[0]+(-0.812773507566)*x[1]+(1.14365402059)*x[2]
36668            ref[0,0]=(-0.822599790066)*x_ref[0]+(-1.22492139307)*x_ref[1]+(-0.696878025616)*x_ref[2]
36669            ref[0,1]=(0.600762284033)*x_ref[0]+(-0.157734608915)*x_ref[1]+(-0.729304703393)*x_ref[2]
36670            ref[0,2]=(-1.42910707426)*x_ref[0]+(1.46395956796)*x_ref[1]+(1.38800770798)*x_ref[2]
36671            ref[0,3]=(1.2198448221)*x_ref[0]+(0.0898753488356)*x_ref[1]+(0.976038279019)*x_ref[2]
36672            ref[0,4]=(-0.616927403743)*x_ref[0]+(1.41159934363)*x_ref[1]+(-1.74783039584)*x_ref[2]
36673            ref[1,0]=(-0.101387750238)*x_ref[0]+(-0.294997280251)*x_ref[1]+(0.247605331103)*x_ref[2]
36674            ref[1,1]=(-0.320864335195)*x_ref[0]+(-0.202828013922)*x_ref[1]+(-0.366246434001)*x_ref[2]
36675            ref[1,2]=(-0.827685495006)*x_ref[0]+(-0.236835428287)*x_ref[1]+(-1.48668813903)*x_ref[2]
36676            ref[1,3]=(0.56131602615)*x_ref[0]+(-0.572858337349)*x_ref[1]+(0.701775515666)*x_ref[2]
36677            ref[1,4]=(-1.09228098916)*x_ref[0]+(-0.0251387524711)*x_ref[1]+(1.91587136325)*x_ref[2]
36678            ref[2,0]=(-0.0758503728265)*x_ref[0]+(0.236248603718)*x_ref[1]+(0.0446858988194)*x_ref[2]
36679            ref[2,1]=(-1.1745073907)*x_ref[0]+(-0.519328441654)*x_ref[1]+(-1.19738117811)*x_ref[2]
36680            ref[2,2]=(-0.018812738143)*x_ref[0]+(1.00051415805)*x_ref[1]+(-0.620776442731)*x_ref[2]
36681            ref[2,3]=(-0.430333705208)*x_ref[0]+(0.136368267739)*x_ref[1]+(0.59767563861)*x_ref[2]
36682            ref[2,4]=(1.54336203988)*x_ref[0]+(0.106189845211)*x_ref[1]+(1.53097571242)*x_ref[2]
36683            ref[3,0]=(-0.00451956527502)*x_ref[0]+(0.710318142757)*x_ref[1]+(0.386947317474)*x_ref[2]
36684            ref[3,1]=(1.22013531098)*x_ref[0]+(-0.735641779691)*x_ref[1]+(-0.0137925239152)*x_ref[2]
36685            ref[3,2]=(0.0949363128405)*x_ref[0]+(-0.0778790744582)*x_ref[1]+(-0.466004036944)*x_ref[2]
36686            ref[3,3]=(0.656445527911)*x_ref[0]+(1.67275242688)*x_ref[1]+(-0.0946012389031)*x_ref[2]
36687            ref[3,4]=(0.927582093503)*x_ref[0]+(-0.812773507566)*x_ref[1]+(1.14365402059)*x_ref[2]
36688          res=interpolate(arg,where=w_ref)
36689          self.failUnless(isinstance(res,Data),"wrong type of result.")
36690          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36691          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
36692          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36693       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36694       def test_interpolation_onFunction_fromData_ReducedSolution_rank3(self):
36695          """
36696          tests interpolation for rank 3 Data onto the Function
36697    
36698          assumptions: self.domain supports inpterpolation from ReducedSolution onto Function
36699          """
36700          o=1
36701          dim=self.domain.getDim()
36702          w_ref=Function(self.domain)
36703          x_ref=w_ref.getX()
36704          w=ReducedSolution(self.domain)
36705          x=w.getX()
36706          arg=Data(0,(6, 2, 2),w)
36707          ref=Data(0,(6, 2, 2),w_ref)
36708          if dim==2:
36709            arg[0,0,0]=(1.53783653017)*x[0]+(-0.262380397029)*x[1]
36710            arg[0,0,1]=(0.0150173886328)*x[0]+(1.16643858096)*x[1]
36711            arg[0,1,0]=(0.886211915116)*x[0]+(0.0707779287946)*x[1]
36712            arg[0,1,1]=(-1.38689895895)*x[0]+(0.970706440444)*x[1]
36713            arg[1,0,0]=(-0.923778075186)*x[0]+(1.93261160466)*x[1]
36714            arg[1,0,1]=(1.03640566039)*x[0]+(-0.511763660443)*x[1]
36715            arg[1,1,0]=(0.127401766462)*x[0]+(-0.472120435035)*x[1]
36716            arg[1,1,1]=(-0.366402024047)*x[0]+(-0.396644605167)*x[1]
36717            arg[2,0,0]=(-0.715041877609)*x[0]+(-1.00214766039)*x[1]
36718            arg[2,0,1]=(-1.52452556675)*x[0]+(-0.570352600973)*x[1]
36719            arg[2,1,0]=(0.730426967288)*x[0]+(0.158290182237)*x[1]
36720            arg[2,1,1]=(-0.152190333299)*x[0]+(-0.254128104593)*x[1]
36721            arg[3,0,0]=(0.835319813606)*x[0]+(-0.142845950855)*x[1]
36722            arg[3,0,1]=(0.80118569153)*x[0]+(0.260295390539)*x[1]
36723            arg[3,1,0]=(0.283151732104)*x[0]+(0.0284945097388)*x[1]
36724            arg[3,1,1]=(-0.715345696074)*x[0]+(0.563181102176)*x[1]
36725            arg[4,0,0]=(-0.481733499899)*x[0]+(1.30638761744)*x[1]
36726            arg[4,0,1]=(-0.515540152341)*x[0]+(1.47724553596)*x[1]
36727            arg[4,1,0]=(0.631902493814)*x[0]+(0.279373852162)*x[1]
36728            arg[4,1,1]=(0.666932982001)*x[0]+(1.02356936117)*x[1]
36729            arg[5,0,0]=(-1.15844673154)*x[0]+(-0.472595660401)*x[1]
36730            arg[5,0,1]=(-0.469626313646)*x[0]+(0.464876870861)*x[1]
36731            arg[5,1,0]=(-0.0934345630024)*x[0]+(0.92605991751)*x[1]
36732            arg[5,1,1]=(-0.0528050605159)*x[0]+(0.984329702885)*x[1]
36733            ref[0,0,0]=(1.53783653017)*x_ref[0]+(-0.262380397029)*x_ref[1]
36734            ref[0,0,1]=(0.0150173886328)*x_ref[0]+(1.16643858096)*x_ref[1]
36735            ref[0,1,0]=(0.886211915116)*x_ref[0]+(0.0707779287946)*x_ref[1]
36736            ref[0,1,1]=(-1.38689895895)*x_ref[0]+(0.970706440444)*x_ref[1]
36737            ref[1,0,0]=(-0.923778075186)*x_ref[0]+(1.93261160466)*x_ref[1]
36738            ref[1,0,1]=(1.03640566039)*x_ref[0]+(-0.511763660443)*x_ref[1]
36739            ref[1,1,0]=(0.127401766462)*x_ref[0]+(-0.472120435035)*x_ref[1]
36740            ref[1,1,1]=(-0.366402024047)*x_ref[0]+(-0.396644605167)*x_ref[1]
36741            ref[2,0,0]=(-0.715041877609)*x_ref[0]+(-1.00214766039)*x_ref[1]
36742            ref[2,0,1]=(-1.52452556675)*x_ref[0]+(-0.570352600973)*x_ref[1]
36743            ref[2,1,0]=(0.730426967288)*x_ref[0]+(0.158290182237)*x_ref[1]
36744            ref[2,1,1]=(-0.152190333299)*x_ref[0]+(-0.254128104593)*x_ref[1]
36745            ref[3,0,0]=(0.835319813606)*x_ref[0]+(-0.142845950855)*x_ref[1]
36746            ref[3,0,1]=(0.80118569153)*x_ref[0]+(0.260295390539)*x_ref[1]
36747            ref[3,1,0]=(0.283151732104)*x_ref[0]+(0.0284945097388)*x_ref[1]
36748            ref[3,1,1]=(-0.715345696074)*x_ref[0]+(0.563181102176)*x_ref[1]
36749            ref[4,0,0]=(-0.481733499899)*x_ref[0]+(1.30638761744)*x_ref[1]
36750            ref[4,0,1]=(-0.515540152341)*x_ref[0]+(1.47724553596)*x_ref[1]
36751            ref[4,1,0]=(0.631902493814)*x_ref[0]+(0.279373852162)*x_ref[1]
36752            ref[4,1,1]=(0.666932982001)*x_ref[0]+(1.02356936117)*x_ref[1]
36753            ref[5,0,0]=(-1.15844673154)*x_ref[0]+(-0.472595660401)*x_ref[1]
36754            ref[5,0,1]=(-0.469626313646)*x_ref[0]+(0.464876870861)*x_ref[1]
36755            ref[5,1,0]=(-0.0934345630024)*x_ref[0]+(0.92605991751)*x_ref[1]
36756            ref[5,1,1]=(-0.0528050605159)*x_ref[0]+(0.984329702885)*x_ref[1]
36757          else:
36758            arg[0,0,0]=(-0.713551995443)*x[0]+(0.694017368402)*x[1]+(-0.0738591792901)*x[2]
36759            arg[0,0,1]=(1.56876736864)*x[0]+(-0.345130721117)*x[1]+(1.1690777905)*x[2]
36760            arg[0,1,0]=(-0.62505379409)*x[0]+(-0.143697617605)*x[1]+(0.132102288091)*x[2]
36761            arg[0,1,1]=(0.873577158168)*x[0]+(-0.967200786585)*x[1]+(1.2903546666)*x[2]
36762            arg[1,0,0]=(-0.192658558584)*x[0]+(0.506709431455)*x[1]+(-0.0952065550445)*x[2]
36763            arg[1,0,1]=(1.30984695498)*x[0]+(-0.469661654194)*x[1]+(1.39212979011)*x[2]
36764            arg[1,1,0]=(-0.49094299988)*x[0]+(1.02571925005)*x[1]+(0.125396191195)*x[2]
36765            arg[1,1,1]=(-0.062798346747)*x[0]+(-0.789359897908)*x[1]+(1.77093308656)*x[2]
36766            arg[2,0,0]=(1.61875859199)*x[0]+(0.594855189809)*x[1]+(0.42445154554)*x[2]
36767            arg[2,0,1]=(-0.856240554561)*x[0]+(0.100699001565)*x[1]+(-0.27854306919)*x[2]
36768            arg[2,1,0]=(0.0478958246378)*x[0]+(0.695175069462)*x[1]+(-0.847667978286)*x[2]
36769            arg[2,1,1]=(1.60820982887)*x[0]+(-0.251793277319)*x[1]+(0.143173366678)*x[2]
36770            arg[3,0,0]=(-0.292866056474)*x[0]+(1.01748459143)*x[1]+(-0.484686028756)*x[2]
36771            arg[3,0,1]=(-0.408126207016)*x[0]+(-1.31011612654)*x[1]+(-0.955847365219)*x[2]
36772            arg[3,1,0]=(0.0396674474263)*x[0]+(0.354470432765)*x[1]+(-0.291731786972)*x[2]
36773            arg[3,1,1]=(0.752098712767)*x[0]+(-1.83970538813)*x[1]+(0.0227500647892)*x[2]
36774            arg[4,0,0]=(0.398849520011)*x[0]+(-1.38237112549)*x[1]+(-0.800550650133)*x[2]
36775            arg[4,0,1]=(0.102399478593)*x[0]+(0.812513136316)*x[1]+(1.25442670221)*x[2]
36776            arg[4,1,0]=(0.224914729031)*x[0]+(0.0706934334606)*x[1]+(0.640265153974)*x[2]
36777            arg[4,1,1]=(0.278731023964)*x[0]+(-0.766892970502)*x[1]+(1.62378242532)*x[2]
36778            arg[5,0,0]=(-0.874002481668)*x[0]+(0.168391989524)*x[1]+(-0.0150981524408)*x[2]
36779            arg[5,0,1]=(1.03369744159)*x[0]+(-0.363152709617)*x[1]+(-0.429141439899)*x[2]
36780            arg[5,1,0]=(1.74293672288)*x[0]+(1.91064523276)*x[1]+(0.159389690962)*x[2]
36781            arg[5,1,1]=(0.769432577623)*x[0]+(0.929942365281)*x[1]+(0.170908152574)*x[2]
36782            ref[0,0,0]=(-0.713551995443)*x_ref[0]+(0.694017368402)*x_ref[1]+(-0.0738591792901)*x_ref[2]
36783            ref[0,0,1]=(1.56876736864)*x_ref[0]+(-0.345130721117)*x_ref[1]+(1.1690777905)*x_ref[2]
36784            ref[0,1,0]=(-0.62505379409)*x_ref[0]+(-0.143697617605)*x_ref[1]+(0.132102288091)*x_ref[2]
36785            ref[0,1,1]=(0.873577158168)*x_ref[0]+(-0.967200786585)*x_ref[1]+(1.2903546666)*x_ref[2]
36786            ref[1,0,0]=(-0.192658558584)*x_ref[0]+(0.506709431455)*x_ref[1]+(-0.0952065550445)*x_ref[2]
36787            ref[1,0,1]=(1.30984695498)*x_ref[0]+(-0.469661654194)*x_ref[1]+(1.39212979011)*x_ref[2]
36788            ref[1,1,0]=(-0.49094299988)*x_ref[0]+(1.02571925005)*x_ref[1]+(0.125396191195)*x_ref[2]
36789            ref[1,1,1]=(-0.062798346747)*x_ref[0]+(-0.789359897908)*x_ref[1]+(1.77093308656)*x_ref[2]
36790            ref[2,0,0]=(1.61875859199)*x_ref[0]+(0.594855189809)*x_ref[1]+(0.42445154554)*x_ref[2]
36791            ref[2,0,1]=(-0.856240554561)*x_ref[0]+(0.100699001565)*x_ref[1]+(-0.27854306919)*x_ref[2]
36792            ref[2,1,0]=(0.0478958246378)*x_ref[0]+(0.695175069462)*x_ref[1]+(-0.847667978286)*x_ref[2]
36793            ref[2,1,1]=(1.60820982887)*x_ref[0]+(-0.251793277319)*x_ref[1]+(0.143173366678)*x_ref[2]
36794            ref[3,0,0]=(-0.292866056474)*x_ref[0]+(1.01748459143)*x_ref[1]+(-0.484686028756)*x_ref[2]
36795            ref[3,0,1]=(-0.408126207016)*x_ref[0]+(-1.31011612654)*x_ref[1]+(-0.955847365219)*x_ref[2]
36796            ref[3,1,0]=(0.0396674474263)*x_ref[0]+(0.354470432765)*x_ref[1]+(-0.291731786972)*x_ref[2]
36797            ref[3,1,1]=(0.752098712767)*x_ref[0]+(-1.83970538813)*x_ref[1]+(0.0227500647892)*x_ref[2]
36798            ref[4,0,0]=(0.398849520011)*x_ref[0]+(-1.38237112549)*x_ref[1]+(-0.800550650133)*x_ref[2]
36799            ref[4,0,1]=(0.102399478593)*x_ref[0]+(0.812513136316)*x_ref[1]+(1.25442670221)*x_ref[2]
36800            ref[4,1,0]=(0.224914729031)*x_ref[0]+(0.0706934334606)*x_ref[1]+(0.640265153974)*x_ref[2]
36801            ref[4,1,1]=(0.278731023964)*x_ref[0]+(-0.766892970502)*x_ref[1]+(1.62378242532)*x_ref[2]
36802            ref[5,0,0]=(-0.874002481668)*x_ref[0]+(0.168391989524)*x_ref[1]+(-0.0150981524408)*x_ref[2]
36803            ref[5,0,1]=(1.03369744159)*x_ref[0]+(-0.363152709617)*x_ref[1]+(-0.429141439899)*x_ref[2]
36804            ref[5,1,0]=(1.74293672288)*x_ref[0]+(1.91064523276)*x_ref[1]+(0.159389690962)*x_ref[2]
36805            ref[5,1,1]=(0.769432577623)*x_ref[0]+(0.929942365281)*x_ref[1]+(0.170908152574)*x_ref[2]
36806          res=interpolate(arg,where=w_ref)
36807          self.failUnless(isinstance(res,Data),"wrong type of result.")
36808          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
36809          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
36810          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
36811       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36812       def test_interpolation_onFunction_fromData_ReducedSolution_rank4(self):
36813          """
36814          tests interpolation for rank 4 Data onto the Function
36815    
36816          assumptions: self.domain supports inpterpolation from ReducedSolution onto Function
36817          """
36818          o=1
36819          dim=self.domain.getDim()
36820          w_ref=Function(self.domain)
36821          x_ref=w_ref.getX()
36822          w=ReducedSolution(self.domain)
36823          x=w.getX()
36824          arg=Data(0,(4, 5, 3, 2),w)
36825          ref=Data(0,(4, 5, 3, 2),w_ref)
36826          if dim==2:
36827            arg[0,0,0,0]=(-1.15521896363)*x[0]+(0.8731619129)*x[1]
36828            arg[0,0,0,1]=(0.597656443464)*x[0]+(0.341688152811)*x[1]
36829            arg[0,0,1,0]=(-0.422350580427)*x[0]+(0.728011338687)*x[1]
36830            arg[0,0,1,1]=(-1.72046294064)*x[0]+(1.13345636724)*x[1]
36831            arg[0,0,2,0]=(0.150530941523)*x[0]+(0.437417461641)*x[1]
36832            arg[0,0,2,1]=(-0.413133183531)*x[0]+(-0.268630939964)*x[1]
36833            arg[0,1,0,0]=(-0.220368905416)*x[0]+(1.10085894684)*x[1]
36834            arg[0,1,0,1]=(-0.943367491188)*x[0]+(0.80942793885)*x[1]
36835            arg[0,1,1,0]=(0.906220152303)*x[0]+(0.801214136703)*x[1]
36836            arg[0,1,1,1]=(-1.3650200124)*x[0]+(-0.373454973523)*x[1]
36837            arg[0,1,2,0]=(-0.277067377427)*x[0]+(-1.62229711799)*x[1]
36838            arg[0,1,2,1]=(0.787076886379)*x[0]+(0.496906919368)*x[1]
36839            arg[0,2,0,0]=(-0.0770154256748)*x[0]+(1.5002648939)*x[1]
36840            arg[0,2,0,1]=(0.225572553862)*x[0]+(1.39471337012)*x[1]
36841            arg[0,2,1,0]=(-0.54799237637)*x[0]+(-0.607785237418)*x[1]
36842            arg[0,2,1,1]=(0.384591801229)*x[0]+(1.30760620469)*x[1]
36843            arg[0,2,2,0]=(0.228248139163)*x[0]+(0.151268778109)*x[1]
36844            arg[0,2,2,1]=(-1.43978230199)*x[0]+(0.958903347524)*x[1]
36845            arg[0,3,0,0]=(-0.568133098072)*x[0]+(0.128510595507)*x[1]
36846            arg[0,3,0,1]=(-0.304029315535)*x[0]+(1.19478464847)*x[1]
36847            arg[0,3,1,0]=(0.0996876882275)*x[0]+(-0.255346045102)*x[1]
36848            arg[0,3,1,1]=(0.414708254109)*x[0]+(-0.148700489536)*x[1]
36849            arg[0,3,2,0]=(-0.740719850161)*x[0]+(0.375907815982)*x[1]
36850            arg[0,3,2,1]=(-0.184189058365)*x[0]+(-0.274477516444)*x[1]
36851            arg[0,4,0,0]=(-0.565848858136)*x[0]+(-0.206818417121)*x[1]
36852            arg[0,4,0,1]=(-0.983652399085)*x[0]+(1.21445827986)*x[1]
36853            arg[0,4,1,0]=(1.6425686123)*x[0]+(-0.621952337654)*x[1]
36854            arg[0,4,1,1]=(-1.07526530849)*x[0]+(-0.0915810578715)*x[1]
36855            arg[0,4,2,0]=(1.4812278738)*x[0]+(1.61991326423)*x[1]
36856            arg[0,4,2,1]=(-1.4147420413)*x[0]+(1.34428787131)*x[1]
36857            arg[1,0,0,0]=(-0.910373659777)*x[0]+(1.46920176435)*x[1]
36858            arg[1,0,0,1]=(0.074473571609)*x[0]+(-0.336642181231)*x[1]
36859            arg[1,0,1,0]=(-0.141813739296)*x[0]+(-0.534432398621)*x[1]
36860            arg[1,0,1,1]=(0.728030938984)*x[0]+(0.532542738961)*x[1]
36861            arg[1,0,2,0]=(0.20676316374)*x[0]+(-0.065235999066)*x[1]
36862            arg[1,0,2,1]=(-1.09054680794)*x[0]+(0.537754476805)*x[1]
36863            arg[1,1,0,0]=(0.523878896271)*x[0]+(-0.0561828109964)*x[1]
36864            arg[1,1,0,1]=(1.27754653741)*x[0]+(0.119734333004)*x[1]
36865            arg[1,1,1,0]=(0.0933160885942)*x[0]+(0.390183021193)*x[1]
36866            arg[1,1,1,1]=(0.548273953924)*x[0]+(-0.552588185124)*x[1]
36867            arg[1,1,2,0]=(0.576803722241)*x[0]+(0.60898781381)*x[1]
36868            arg[1,1,2,1]=(-0.307231650547)*x[0]+(0.439111970656)*x[1]
36869            arg[1,2,0,0]=(0.172113300736)*x[0]+(-0.0153971432613)*x[1]
36870            arg[1,2,0,1]=(-0.883753634465)*x[0]+(1.35320294175)*x[1]
36871            arg[1,2,1,0]=(0.153937139638)*x[0]+(-0.865654430739)*x[1]
36872            arg[1,2,1,1]=(0.970377377543)*x[0]+(-1.11418225395)*x[1]
36873            arg[1,2,2,0]=(-1.11106779953)*x[0]+(-0.357700480625)*x[1]
36874            arg[1,2,2,1]=(0.475529404147)*x[0]+(-0.121369909464)*x[1]
36875            arg[1,3,0,0]=(-0.867370155191)*x[0]+(0.625161512036)*x[1]
36876            arg[1,3,0,1]=(0.252873452474)*x[0]+(1.11368263907)*x[1]
36877            arg[1,3,1,0]=(-1.25698605702)*x[0]+(-0.381254857218)*x[1]
36878            arg[1,3,1,1]=(1.12038052674)*x[0]+(-0.113429410248)*x[1]
36879            arg[1,3,2,0]=(0.0821799570201)*x[0]+(-0.167383600252)*x[1]
36880            arg[1,3,2,1]=(-0.534217900599)*x[0]+(-1.26144431009)*x[1]
36881            arg[1,4,0,0]=(0.639186045888)*x[0]+(0.258686782482)*x[1]
36882            arg[1,4,0,1]=(-0.256515011769)*x[0]+(0.797453395844)*x[1]
36883            arg[1,4,1,0]=(-0.427518421999)*x[0]+(-0.101439725502)*x[1]
36884            arg[1,4,1,1]=(-0.251303248239)*x[0]+(0.361194806374)*x[1]
36885            arg[1,4,2,0]=(0.415313798163)*x[0]+(-0.909602300262)*x[1]
36886            arg[1,4,2,1]=(0.118542894027)*x[0]+(-0.28224555744)*x[1]
36887            arg[2,0,0,0]=(0.700687096184)*x[0]+(-1.69964436969)*x[1]
36888            arg[2,0,0,1]=(0.880393551605)*x[0]+(-0.571112060462)*x[1]
36889            arg[2,0,1,0]=(1.35990706973)*x[0]+(0.260154297077)*x[1]
36890            arg[2,0,1,1]=(0.294201987212)*x[0]+(-0.379007248662)*x[1]
36891            arg[2,0,2,0]=(-1.42914701121)*x[0]+(0.88289145627)*x[1]
36892            arg[2,0,2,1]=(-0.343976881604)*x[0]+(0.0642493086788)*x[1]
36893            arg[2,1,0,0]=(0.479103547757)*x[0]+(-1.60276044525)*x[1]
36894            arg[2,1,0,1]=(0.944321957371)*x[0]+(0.313721173145)*x[1]
36895            arg[2,1,1,0]=(0.233589885494)*x[0]+(-0.427865810692)*x[1]
36896            arg[2,1,1,1]=(-0.954518596356)*x[0]+(-0.153033245523)*x[1]
36897            arg[2,1,2,0]=(1.14079619235)*x[0]+(0.136503305207)*x[1]
36898            arg[2,1,2,1]=(-0.715601080868)*x[0]+(-1.74677798058)*x[1]
36899            arg[2,2,0,0]=(0.211908166714)*x[0]+(0.379390512119)*x[1]
36900            arg[2,2,0,1]=(0.97243389801)*x[0]+(-0.988193298566)*x[1]
36901            arg[2,2,1,0]=(0.8990152555)*x[0]+(0.22398476583)*x[1]
36902            arg[2,2,1,1]=(-0.748858338529)*x[0]+(-1.00255098852)*x[1]
36903            arg[2,2,2,0]=(0.863334969354)*x[0]+(1.14334958607)*x[1]
36904            arg[2,2,2,1]=(-0.807672728362)*x[0]+(0.837576150239)*x[1]
36905            arg[2,3,0,0]=(-0.310471066952)*x[0]+(0.261468387883)*x[1]
36906            arg[2,3,0,1]=(-1.61325161386)*x[0]+(0.016614907729)*x[1]
36907            arg[2,3,1,0]=(-0.742577714565)*x[0]+(-1.54936077725)*x[1]
36908            arg[2,3,1,1]=(-0.393825799694)*x[0]+(0.66004298074)*x[1]
36909            arg[2,3,2,0]=(-1.03965632182)*x[0]+(-0.863160703719)*x[1]
36910            arg[2,3,2,1]=(0.673788653196)*x[0]+(0.740311339524)*x[1]
36911            arg[2,4,0,0]=(1.59272250531)*x[0]+(1.27845229216)*x[1]
36912            arg[2,4,0,1]=(0.112947869874)*x[0]+(1.06626388923)*x[1]
36913            arg[2,4,1,0]=(-0.935174560087)*x[0]+(0.729112002619)*x[1]
36914            arg[2,4,1,1]=(1.28167575095)*x[0]+(-1.6626881011)*x[1]
36915            arg[2,4,2,0]=(-1.01382997014)*x[0]+(0.40870705964)*x[1]
36916            arg[2,4,2,1]=(-0.903293274454)*x[0]+(0.451662927854)*x[1]
36917            arg[3,0,0,0]=(0.414933474895)*x[0]+(0.274208992931)*x[1]
36918            arg[3,0,0,1]=(-0.140384007335)*x[0]+(-0.201270983912)*x[1]
36919            arg[3,0,1,0]=(-1.34339529394)*x[0]+(-1.26275414913)*x[1]
36920            arg[3,0,1,1]=(0.34482759487)*x[0]+(0.992140984097)*x[1]
36921            arg[3,0,2,0]=(-1.56575003976)*x[0]+(-0.514557317682)*x[1]
36922            arg[3,0,2,1]=(-0.203196026518)*x[0]+(-0.50777550196)*x[1]
36923            arg[3,1,0,0]=(-0.465027052452)*x[0]+(0.165299984247)*x[1]
36924            arg[3,1,0,1]=(-0.876537945705)*x[0]+(0.569062140702)*x[1]
36925            arg[3,1,1,0]=(0.212854890028)*x[0]+(0.772436691343)*x[1]
36926            arg[3,1,1,1]=(0.376912060989)*x[0]+(-1.59078116917)*x[1]
36927            arg[3,1,2,0]=(-1.19949528387)*x[0]+(0.508138309995)*x[1]
36928            arg[3,1,2,1]=(0.535067293288)*x[0]+(0.483486234966)*x[1]
36929            arg[3,2,0,0]=(-0.366454519079)*x[0]+(0.880937088999)*x[1]
36930            arg[3,2,0,1]=(-0.164158778522)*x[0]+(-0.0933716527947)*x[1]
36931            arg[3,2,1,0]=(-0.338148774302)*x[0]+(0.389103301223)*x[1]
36932            arg[3,2,1,1]=(-1.17323344849)*x[0]+(-0.286752347393)*x[1]
36933            arg[3,2,2,0]=(0.43651426746)*x[0]+(0.0751512323008)*x[1]
36934            arg[3,2,2,1]=(1.44242451962)*x[0]+(-0.853169055909)*x[1]
36935            arg[3,3,0,0]=(0.268862750262)*x[0]+(0.668643005784)*x[1]
36936            arg[3,3,0,1]=(-1.47078437928)*x[0]+(1.25865018681)*x[1]
36937            arg[3,3,1,0]=(-0.218849811361)*x[0]+(0.147601849599)*x[1]
36938            arg[3,3,1,1]=(1.66493534918)*x[0]+(0.368711512357)*x[1]
36939            arg[3,3,2,0]=(0.259910144631)*x[0]+(-0.977975383491)*x[1]
36940            arg[3,3,2,1]=(1.87696180213)*x[0]+(-0.583679438031)*x[1]
36941            arg[3,4,0,0]=(0.226114159843)*x[0]+(0.121547181819)*x[1]
36942            arg[3,4,0,1]=(1.21215141305)*x[0]+(-0.175673309633)*x[1]
36943            arg[3,4,1,0]=(0.644340639306)*x[0]+(0.35372514848)*x[1]
36944            arg[3,4,1,1]=(0.452987488144)*x[0]+(0.838110546855)*x[1]
36945            arg[3,4,2,0]=(-0.434414511976)*x[0]+(-0.879038818613)*x[1]
36946            arg[3,4,2,1]=(-0.387240543602)*x[0]+(0.187795787877)*x[1]
36947            ref[0,0,0,0]=(-1.15521896363)*x_ref[0]+(0.8731619129)*x_ref[1]
36948            ref[0,0,0,1]=(0.597656443464)*x_ref[0]+(0.341688152811)*x_ref[1]
36949            ref[0,0,1,0]=(-0.422350580427)*x_ref[0]+(0.728011338687)*x_ref[1]
36950            ref[0,0,1,1]=(-1.72046294064)*x_ref[0]+(1.13345636724)*x_ref[1]
36951            ref[0,0,2,0]=(0.150530941523)*x_ref[0]+(0.437417461641)*x_ref[1]
36952            ref[0,0,2,1]=(-0.413133183531)*x_ref[0]+(-0.268630939964)*x_ref[1]
36953            ref[0,1,0,0]=(-0.220368905416)*x_ref[0]+(1.10085894684)*x_ref[1]
36954            ref[0,1,0,1]=(-0.943367491188)*x_ref[0]+(0.80942793885)*x_ref[1]
36955            ref[0,1,1,0]=(0.906220152303)*x_ref[0]+(0.801214136703)*x_ref[1]
36956            ref[0,1,1,1]=(-1.3650200124)*x_ref[0]+(-0.373454973523)*x_ref[1]
36957            ref[0,1,2,0]=(-0.277067377427)*x_ref[0]+(-1.62229711799)*x_ref[1]
36958            ref[0,1,2,1]=(0.787076886379)*x_ref[0]+(0.496906919368)*x_ref[1]
36959            ref[0,2,0,0]=(-0.0770154256748)*x_ref[0]+(1.5002648939)*x_ref[1]
36960            ref[0,2,0,1]=(0.225572553862)*x_ref[0]+(1.39471337012)*x_ref[1]
36961            ref[0,2,1,0]=(-0.54799237637)*x_ref[0]+(-0.607785237418)*x_ref[1]
36962            ref[0,2,1,1]=(0.384591801229)*x_ref[0]+(1.30760620469)*x_ref[1]
36963            ref[0,2,2,0]=(0.228248139163)*x_ref[0]+(0.151268778109)*x_ref[1]
36964            ref[0,2,2,1]=(-1.43978230199)*x_ref[0]+(0.958903347524)*x_ref[1]
36965            ref[0,3,0,0]=(-0.568133098072)*x_ref[0]+(0.128510595507)*x_ref[1]
36966            ref[0,3,0,1]=(-0.304029315535)*x_ref[0]+(1.19478464847)*x_ref[1]
36967            ref[0,3,1,0]=(0.0996876882275)*x_ref[0]+(-0.255346045102)*x_ref[1]
36968            ref[0,3,1,1]=(0.414708254109)*x_ref[0]+(-0.148700489536)*x_ref[1]
36969            ref[0,3,2,0]=(-0.740719850161)*x_ref[0]+(0.375907815982)*x_ref[1]
36970            ref[0,3,2,1]=(-0.184189058365)*x_ref[0]+(-0.274477516444)*x_ref[1]
36971            ref[0,4,0,0]=(-0.565848858136)*x_ref[0]+(-0.206818417121)*x_ref[1]
36972            ref[0,4,0,1]=(-0.983652399085)*x_ref[0]+(1.21445827986)*x_ref[1]
36973            ref[0,4,1,0]=(1.6425686123)*x_ref[0]+(-0.621952337654)*x_ref[1]
36974            ref[0,4,1,1]=(-1.07526530849)*x_ref[0]+(-0.0915810578715)*x_ref[1]
36975            ref[0,4,2,0]=(1.4812278738)*x_ref[0]+(1.61991326423)*x_ref[1]
36976            ref[0,4,2,1]=(-1.4147420413)*x_ref[0]+(1.34428787131)*x_ref[1]
36977            ref[1,0,0,0]=(-0.910373659777)*x_ref[0]+(1.46920176435)*x_ref[1]
36978            ref[1,0,0,1]=(0.074473571609)*x_ref[0]+(-0.336642181231)*x_ref[1]
36979            ref[1,0,1,0]=(-0.141813739296)*x_ref[0]+(-0.534432398621)*x_ref[1]
36980            ref[1,0,1,1]=(0.728030938984)*x_ref[0]+(0.532542738961)*x_ref[1]
36981            ref[1,0,2,0]=(0.20676316374)*x_ref[0]+(-0.065235999066)*x_ref[1]
36982            ref[1,0,2,1]=(-1.09054680794)*x_ref[0]+(0.537754476805)*x_ref[1]
36983            ref[1,1,0,0]=(0.523878896271)*x_ref[0]+(-0.0561828109964)*x_ref[1]
36984            ref[1,1,0,1]=(1.27754653741)*x_ref[0]+(0.119734333004)*x_ref[1]
36985            ref[1,1,1,0]=(0.0933160885942)*x_ref[0]+(0.390183021193)*x_ref[1]
36986            ref[1,1,1,1]=(0.548273953924)*x_ref[0]+(-0.552588185124)*x_ref[1]
36987            ref[1,1,2,0]=(0.576803722241)*x_ref[0]+(0.60898781381)*x_ref[1]
36988            ref[1,1,2,1]=(-0.307231650547)*x_ref[0]+(0.439111970656)*x_ref[1]
36989            ref[1,2,0,0]=(0.172113300736)*x_ref[0]+(-0.0153971432613)*x_ref[1]
36990            ref[1,2,0,1]=(-0.883753634465)*x_ref[0]+(1.35320294175)*x_ref[1]
36991            ref[1,2,1,0]=(0.153937139638)*x_ref[0]+(-0.865654430739)*x_ref[1]
36992            ref[1,2,1,1]=(0.970377377543)*x_ref[0]+(-1.11418225395)*x_ref[1]
36993            ref[1,2,2,0]=(-1.11106779953)*x_ref[0]+(-0.357700480625)*x_ref[1]
36994            ref[1,2,2,1]=(0.475529404147)*x_ref[0]+(-0.121369909464)*x_ref[1]
36995            ref[1,3,0,0]=(-0.867370155191)*x_ref[0]+(0.625161512036)*x_ref[1]
36996            ref[1,3,0,1]=(0.252873452474)*x_ref[0]+(1.11368263907)*x_ref[1]
36997            ref[1,3,1,0]=(-1.25698605702)*x_ref[0]+(-0.381254857218)*x_ref[1]
36998            ref[1,3,1,1]=(1.12038052674)*x_ref[0]+(-0.113429410248)*x_ref[1]
36999            ref[1,3,2,0]=(0.0821799570201)*x_ref[0]+(-0.167383600252)*x_ref[1]
37000            ref[1,3,2,1]=(-0.534217900599)*x_ref[0]+(-1.26144431009)*x_ref[1]
37001            ref[1,4,0,0]=(0.639186045888)*x_ref[0]+(0.258686782482)*x_ref[1]
37002            ref[1,4,0,1]=(-0.256515011769)*x_ref[0]+(0.797453395844)*x_ref[1]
37003            ref[1,4,1,0]=(-0.427518421999)*x_ref[0]+(-0.101439725502)*x_ref[1]
37004            ref[1,4,1,1]=(-0.251303248239)*x_ref[0]+(0.361194806374)*x_ref[1]
37005            ref[1,4,2,0]=(0.415313798163)*x_ref[0]+(-0.909602300262)*x_ref[1]
37006            ref[1,4,2,1]=(0.118542894027)*x_ref[0]+(-0.28224555744)*x_ref[1]
37007            ref[2,0,0,0]=(0.700687096184)*x_ref[0]+(-1.69964436969)*x_ref[1]
37008            ref[2,0,0,1]=(0.880393551605)*x_ref[0]+(-0.571112060462)*x_ref[1]
37009            ref[2,0,1,0]=(1.35990706973)*x_ref[0]+(0.260154297077)*x_ref[1]
37010            ref[2,0,1,1]=(0.294201987212)*x_ref[0]+(-0.379007248662)*x_ref[1]
37011            ref[2,0,2,0]=(-1.42914701121)*x_ref[0]+(0.88289145627)*x_ref[1]
37012            ref[2,0,2,1]=(-0.343976881604)*x_ref[0]+(0.0642493086788)*x_ref[1]
37013            ref[2,1,0,0]=(0.479103547757)*x_ref[0]+(-1.60276044525)*x_ref[1]
37014            ref[2,1,0,1]=(0.944321957371)*x_ref[0]+(0.313721173145)*x_ref[1]
37015            ref[2,1,1,0]=(0.233589885494)*x_ref[0]+(-0.427865810692)*x_ref[1]
37016            ref[2,1,1,1]=(-0.954518596356)*x_ref[0]+(-0.153033245523)*x_ref[1]
37017            ref[2,1,2,0]=(1.14079619235)*x_ref[0]+(0.136503305207)*x_ref[1]
37018            ref[2,1,2,1]=(-0.715601080868)*x_ref[0]+(-1.74677798058)*x_ref[1]
37019            ref[2,2,0,0]=(0.211908166714)*x_ref[0]+(0.379390512119)*x_ref[1]
37020            ref[2,2,0,1]=(0.97243389801)*x_ref[0]+(-0.988193298566)*x_ref[1]
37021            ref[2,2,1,0]=(0.8990152555)*x_ref[0]+(0.22398476583)*x_ref[1]
37022            ref[2,2,1,1]=(-0.748858338529)*x_ref[0]+(-1.00255098852)*x_ref[1]
37023            ref[2,2,2,0]=(0.863334969354)*x_ref[0]+(1.14334958607)*x_ref[1]
37024            ref[2,2,2,1]=(-0.807672728362)*x_ref[0]+(0.837576150239)*x_ref[1]
37025            ref[2,3,0,0]=(-0.310471066952)*x_ref[0]+(0.261468387883)*x_ref[1]
37026            ref[2,3,0,1]=(-1.61325161386)*x_ref[0]+(0.016614907729)*x_ref[1]
37027            ref[2,3,1,0]=(-0.742577714565)*x_ref[0]+(-1.54936077725)*x_ref[1]
37028            ref[2,3,1,1]=(-0.393825799694)*x_ref[0]+(0.66004298074)*x_ref[1]
37029            ref[2,3,2,0]=(-1.03965632182)*x_ref[0]+(-0.863160703719)*x_ref[1]
37030            ref[2,3,2,1]=(0.673788653196)*x_ref[0]+(0.740311339524)*x_ref[1]
37031            ref[2,4,0,0]=(1.59272250531)*x_ref[0]+(1.27845229216)*x_ref[1]
37032            ref[2,4,0,1]=(0.112947869874)*x_ref[0]+(1.06626388923)*x_ref[1]
37033            ref[2,4,1,0]=(-0.935174560087)*x_ref[0]+(0.729112002619)*x_ref[1]
37034            ref[2,4,1,1]=(1.28167575095)*x_ref[0]+(-1.6626881011)*x_ref[1]
37035            ref[2,4,2,0]=(-1.01382997014)*x_ref[0]+(0.40870705964)*x_ref[1]
37036            ref[2,4,2,1]=(-0.903293274454)*x_ref[0]+(0.451662927854)*x_ref[1]
37037            ref[3,0,0,0]=(0.414933474895)*x_ref[0]+(0.274208992931)*x_ref[1]
37038            ref[3,0,0,1]=(-0.140384007335)*x_ref[0]+(-0.201270983912)*x_ref[1]
37039            ref[3,0,1,0]=(-1.34339529394)*x_ref[0]+(-1.26275414913)*x_ref[1]
37040            ref[3,0,1,1]=(0.34482759487)*x_ref[0]+(0.992140984097)*x_ref[1]
37041            ref[3,0,2,0]=(-1.56575003976)*x_ref[0]+(-0.514557317682)*x_ref[1]
37042            ref[3,0,2,1]=(-0.203196026518)*x_ref[0]+(-0.50777550196)*x_ref[1]
37043            ref[3,1,0,0]=(-0.465027052452)*x_ref[0]+(0.165299984247)*x_ref[1]
37044            ref[3,1,0,1]=(-0.876537945705)*x_ref[0]+(0.569062140702)*x_ref[1]
37045            ref[3,1,1,0]=(0.212854890028)*x_ref[0]+(0.772436691343)*x_ref[1]
37046            ref[3,1,1,1]=(0.376912060989)*x_ref[0]+(-1.59078116917)*x_ref[1]
37047            ref[3,1,2,0]=(-1.19949528387)*x_ref[0]+(0.508138309995)*x_ref[1]
37048            ref[3,1,2,1]=(0.535067293288)*x_ref[0]+(0.483486234966)*x_ref[1]
37049            ref[3,2,0,0]=(-0.366454519079)*x_ref[0]+(0.880937088999)*x_ref[1]
37050            ref[3,2,0,1]=(-0.164158778522)*x_ref[0]+(-0.0933716527947)*x_ref[1]
37051            ref[3,2,1,0]=(-0.338148774302)*x_ref[0]+(0.389103301223)*x_ref[1]
37052            ref[3,2,1,1]=(-1.17323344849)*x_ref[0]+(-0.286752347393)*x_ref[1]
37053            ref[3,2,2,0]=(0.43651426746)*x_ref[0]+(0.0751512323008)*x_ref[1]
37054            ref[3,2,2,1]=(1.44242451962)*x_ref[0]+(-0.853169055909)*x_ref[1]
37055            ref[3,3,0,0]=(0.268862750262)*x_ref[0]+(0.668643005784)*x_ref[1]
37056            ref[3,3,0,1]=(-1.47078437928)*x_ref[0]+(1.25865018681)*x_ref[1]
37057            ref[3,3,1,0]=(-0.218849811361)*x_ref[0]+(0.147601849599)*x_ref[1]
37058            ref[3,3,1,1]=(1.66493534918)*x_ref[0]+(0.368711512357)*x_ref[1]
37059            ref[3,3,2,0]=(0.259910144631)*x_ref[0]+(-0.977975383491)*x_ref[1]
37060            ref[3,3,2,1]=(1.87696180213)*x_ref[0]+(-0.583679438031)*x_ref[1]
37061            ref[3,4,0,0]=(0.226114159843)*x_ref[0]+(0.121547181819)*x_ref[1]
37062            ref[3,4,0,1]=(1.21215141305)*x_ref[0]+(-0.175673309633)*x_ref[1]
37063            ref[3,4,1,0]=(0.644340639306)*x_ref[0]+(0.35372514848)*x_ref[1]
37064            ref[3,4,1,1]=(0.452987488144)*x_ref[0]+(0.838110546855)*x_ref[1]
37065            ref[3,4,2,0]=(-0.434414511976)*x_ref[0]+(-0.879038818613)*x_ref[1]
37066            ref[3,4,2,1]=(-0.387240543602)*x_ref[0]+(0.187795787877)*x_ref[1]
37067          else:
37068            arg[0,0,0,0]=(0.523374388946)*x[0]+(-0.462029311047)*x[1]+(-0.47732568751)*x[2]
37069            arg[0,0,0,1]=(0.641437288282)*x[0]+(-0.245967769804)*x[1]+(-0.882711488334)*x[2]
37070            arg[0,0,1,0]=(-0.039075405101)*x[0]+(0.233479040723)*x[1]+(-0.450244284473)*x[2]
37071            arg[0,0,1,1]=(-1.00711630706)*x[0]+(-0.247720707527)*x[1]+(-0.597073422746)*x[2]
37072            arg[0,0,2,0]=(0.141738833983)*x[0]+(-1.34846391496)*x[1]+(0.214891803475)*x[2]
37073            arg[0,0,2,1]=(0.276967719755)*x[0]+(-0.64300940909)*x[1]+(-1.10068852616)*x[2]
37074            arg[0,1,0,0]=(0.438911917989)*x[0]+(0.588137625057)*x[1]+(0.744848057181)*x[2]
37075            arg[0,1,0,1]=(0.266343859518)*x[0]+(1.24092635599)*x[1]+(0.477206170905)*x[2]
37076            arg[0,1,1,0]=(0.328857688358)*x[0]+(-1.17720038645)*x[1]+(0.285045368661)*x[2]
37077            arg[0,1,1,1]=(-0.0985505878353)*x[0]+(1.11228710542)*x[1]+(0.159347839514)*x[2]
37078            arg[0,1,2,0]=(0.125378210814)*x[0]+(1.51252392793)*x[1]+(-0.0402281595871)*x[2]
37079            arg[0,1,2,1]=(-1.41964435548)*x[0]+(0.825108246489)*x[1]+(0.31679169508)*x[2]
37080            arg[0,2,0,0]=(1.47728541117)*x[0]+(0.957708443424)*x[1]+(-0.187892562217)*x[2]
37081            arg[0,2,0,1]=(0.0614505001405)*x[0]+(0.144444072992)*x[1]+(0.287839563179)*x[2]
37082            arg[0,2,1,0]=(0.512698173313)*x[0]+(0.316852993542)*x[1]+(0.538020705489)*x[2]
37083            arg[0,2,1,1]=(-0.349895838053)*x[0]+(1.50602760725)*x[1]+(-0.959979406715)*x[2]
37084            arg[0,2,2,0]=(-0.618802027626)*x[0]+(0.71544179402)*x[1]+(1.09297898989)*x[2]
37085            arg[0,2,2,1]=(-0.264932530879)*x[0]+(-1.4100323815)*x[1]+(-1.28423925034)*x[2]
37086            arg[0,3,0,0]=(0.481724893561)*x[0]+(-0.546248388253)*x[1]+(-0.214332802735)*x[2]
37087            arg[0,3,0,1]=(-1.33293479098)*x[0]+(0.989294320484)*x[1]+(-0.561974021785)*x[2]
37088            arg[0,3,1,0]=(-0.394718780001)*x[0]+(1.0043343416)*x[1]+(1.51370839793)*x[2]
37089            arg[0,3,1,1]=(1.08238957373)*x[0]+(0.591631122094)*x[1]+(0.075283954318)*x[2]
37090            arg[0,3,2,0]=(-1.0250149161)*x[0]+(-0.739848118412)*x[1]+(0.736595112789)*x[2]
37091            arg[0,3,2,1]=(-1.08033009366)*x[0]+(-0.574926147021)*x[1]+(0.421251948724)*x[2]
37092            arg[0,4,0,0]=(-0.0894466241931)*x[0]+(1.14935896473)*x[1]+(-0.490410015077)*x[2]
37093            arg[0,4,0,1]=(1.07777309372)*x[0]+(1.0672971936)*x[1]+(0.340143160972)*x[2]
37094            arg[0,4,1,0]=(0.905553949676)*x[0]+(0.171320798438)*x[1]+(1.83634812891)*x[2]
37095            arg[0,4,1,1]=(-0.663516264963)*x[0]+(0.14871937304)*x[1]+(-0.697949666962)*x[2]
37096            arg[0,4,2,0]=(1.41806579095)*x[0]+(0.0357313086623)*x[1]+(0.110846683649)*x[2]
37097            arg[0,4,2,1]=(-0.31919270211)*x[0]+(-1.651049084)*x[1]+(-1.47528307262)*x[2]
37098            arg[1,0,0,0]=(0.167209321535)*x[0]+(-1.13066332212)*x[1]+(0.209489173491)*x[2]
37099            arg[1,0,0,1]=(1.45770122794)*x[0]+(1.12024118263)*x[1]+(0.0203526002602)*x[2]
37100            arg[1,0,1,0]=(0.180403238696)*x[0]+(0.580625819717)*x[1]+(-1.00882441351)*x[2]
37101            arg[1,0,1,1]=(-0.20671421669)*x[0]+(-0.199445466326)*x[1]+(0.887365974398)*x[2]
37102            arg[1,0,2,0]=(-0.0109233374932)*x[0]+(0.835241335188)*x[1]+(-0.810658050514)*x[2]
37103            arg[1,0,2,1]=(-1.45991974539)*x[0]+(0.955399748215)*x[1]+(0.398673469474)*x[2]
37104            arg[1,1,0,0]=(0.726687414113)*x[0]+(-1.35343793545)*x[1]+(0.750079540417)*x[2]
37105            arg[1,1,0,1]=(-0.677871860083)*x[0]+(-1.56756818572)*x[1]+(-0.240923946416)*x[2]
37106            arg[1,1,1,0]=(-1.05791511835)*x[0]+(-0.425827952234)*x[1]+(-1.82875340474)*x[2]
37107            arg[1,1,1,1]=(-0.430783664297)*x[0]+(0.552238591434)*x[1]+(0.502702385375)*x[2]
37108            arg[1,1,2,0]=(0.240203734777)*x[0]+(-0.0650121194654)*x[1]+(1.04662204076)*x[2]
37109            arg[1,1,2,1]=(-0.25305133215)*x[0]+(-0.31486026571)*x[1]+(-1.83073697314)*x[2]
37110            arg[1,2,0,0]=(-1.09643062195)*x[0]+(-0.437887555247)*x[1]+(-1.33970467276)*x[2]
37111            arg[1,2,0,1]=(1.24489646204)*x[0]+(1.0714412157)*x[1]+(-0.192090595585)*x[2]
37112            arg[1,2,1,0]=(0.029290840641)*x[0]+(-0.940655160496)*x[1]+(-0.820414570983)*x[2]
37113            arg[1,2,1,1]=(-0.677190307386)*x[0]+(-0.00164385522847)*x[1]+(-0.46460277293)*x[2]
37114            arg[1,2,2,0]=(-0.320006508895)*x[0]+(1.13412133331)*x[1]+(-0.619705535377)*x[2]
37115            arg[1,2,2,1]=(-0.0220330715863)*x[0]+(-0.64687567378)*x[1]+(0.0957350181768)*x[2]
37116            arg[1,3,0,0]=(-0.25073330162)*x[0]+(0.85795600432)*x[1]+(1.53293778947)*x[2]
37117            arg[1,3,0,1]=(-0.183346360622)*x[0]+(0.266035391885)*x[1]+(-0.422228348627)*x[2]
37118            arg[1,3,1,0]=(-0.41587781442)*x[0]+(-0.0103068212789)*x[1]+(0.440665738388)*x[2]
37119            arg[1,3,1,1]=(1.41825912495)*x[0]+(-0.0611650685825)*x[1]+(0.972511387093)*x[2]
37120            arg[1,3,2,0]=(-0.336532230508)*x[0]+(-0.0123275905127)*x[1]+(-0.254643420879)*x[2]
37121            arg[1,3,2,1]=(-0.365437122858)*x[0]+(0.71384297093)*x[1]+(0.447802028475)*x[2]
37122            arg[1,4,0,0]=(1.33371172009)*x[0]+(1.16948649723)*x[1]+(-0.624453779138)*x[2]
37123            arg[1,4,0,1]=(0.0919647304743)*x[0]+(1.20509307321)*x[1]+(0.454668856107)*x[2]
37124            arg[1,4,1,0]=(0.179837036326)*x[0]+(1.27470487309)*x[1]+(0.248127557917)*x[2]
37125            arg[1,4,1,1]=(-0.0163592123585)*x[0]+(-1.09373628426)*x[1]+(-1.07284707536)*x[2]
37126            arg[1,4,2,0]=(-0.0617954247638)*x[0]+(0.180336071139)*x[1]+(0.0715760255435)*x[2]
37127            arg[1,4,2,1]=(0.449148667011)*x[0]+(0.476092516356)*x[1]+(-0.235672424702)*x[2]
37128            arg[2,0,0,0]=(1.06662096238)*x[0]+(1.52079387843)*x[1]+(-0.465087313097)*x[2]
37129            arg[2,0,0,1]=(-0.0113962755891)*x[0]+(0.459517781034)*x[1]+(0.423861505703)*x[2]
37130            arg[2,0,1,0]=(1.19571956088)*x[0]+(1.02444853474)*x[1]+(-1.31054246173)*x[2]
37131            arg[2,0,1,1]=(-1.39536067914)*x[0]+(0.884184554143)*x[1]+(-0.650926411157)*x[2]
37132            arg[2,0,2,0]=(-0.328672728946)*x[0]+(1.07247782219)*x[1]+(-0.61103916867)*x[2]
37133            arg[2,0,2,1]=(0.155304775433)*x[0]+(-1.34794080729)*x[1]+(-0.931891854948)*x[2]
37134            arg[2,1,0,0]=(-0.953726622792)*x[0]+(0.483614421199)*x[1]+(1.07026616662)*x[2]
37135            arg[2,1,0,1]=(0.720797127905)*x[0]+(1.31309704242)*x[1]+(0.534213389945)*x[2]
37136            arg[2,1,1,0]=(1.12642665973)*x[0]+(-0.375134467285)*x[1]+(0.223566393552)*x[2]
37137            arg[2,1,1,1]=(-0.380892997026)*x[0]+(-0.661627351046)*x[1]+(0.596842673155)*x[2]
37138            arg[2,1,2,0]=(0.233212348554)*x[0]+(0.106673294307)*x[1]+(-0.22268427628)*x[2]
37139            arg[2,1,2,1]=(0.67982223365)*x[0]+(-1.53842407155)*x[1]+(0.995328875213)*x[2]
37140            arg[2,2,0,0]=(1.5835734841)*x[0]+(0.178824495609)*x[1]+(-0.31332770355)*x[2]
37141            arg[2,2,0,1]=(0.101063103927)*x[0]+(-0.0437670737377)*x[1]+(-0.109514170393)*x[2]
37142            arg[2,2,1,0]=(-0.892614006193)*x[0]+(0.952803608394)*x[1]+(-0.643308315526)*x[2]
37143            arg[2,2,1,1]=(-0.0606310193159)*x[0]+(-0.768822197122)*x[1]+(-1.43018654257)*x[2]
37144            arg[2,2,2,0]=(0.107463856971)*x[0]+(1.27309352669)*x[1]+(1.65234673057)*x[2]
37145            arg[2,2,2,1]=(0.699315319729)*x[0]+(-0.345960580793)*x[1]+(-1.61621444026)*x[2]
37146            arg[2,3,0,0]=(0.9761936338)*x[0]+(0.665547749873)*x[1]+(-1.07512721449)*x[2]
37147            arg[2,3,0,1]=(1.26182572924)*x[0]+(-0.416232568884)*x[1]+(-0.356737405174)*x[2]
37148            arg[2,3,1,0]=(-0.477958253427)*x[0]+(0.198049156904)*x[1]+(-0.295022782364)*x[2]
37149            arg[2,3,1,1]=(0.412187471103)*x[0]+(0.335655056628)*x[1]+(-0.0873658679329)*x[2]
37150            arg[2,3,2,0]=(0.168439409327)*x[0]+(-0.131948711409)*x[1]+(1.66777364846)*x[2]
37151            arg[2,3,2,1]=(0.508795552378)*x[0]+(-0.390505460243)*x[1]+(0.13190717559)*x[2]
37152            arg[2,4,0,0]=(0.446543094067)*x[0]+(-1.49620720862)*x[1]+(-1.23581717894)*x[2]
37153            arg[2,4,0,1]=(-0.964404449625)*x[0]+(0.229523164331)*x[1]+(-0.0829574431644)*x[2]
37154            arg[2,4,1,0]=(-0.0222885761611)*x[0]+(-0.151419169433)*x[1]+(0.0521007301341)*x[2]
37155            arg[2,4,1,1]=(-0.299232945099)*x[0]+(0.831745448311)*x[1]+(0.0354480204711)*x[2]
37156            arg[2,4,2,0]=(0.350303784953)*x[0]+(0.0608299778701)*x[1]+(1.10333111365)*x[2]
37157            arg[2,4,2,1]=(0.719573610926)*x[0]+(-0.0868905011544)*x[1]+(0.852804030732)*x[2]
37158            arg[3,0,0,0]=(0.643070908885)*x[0]+(0.846705112025)*x[1]+(-0.340473447494)*x[2]
37159            arg[3,0,0,1]=(-0.180433440729)*x[0]+(1.20490149625)*x[1]+(1.65034499912)*x[2]
37160            arg[3,0,1,0]=(-0.454239570444)*x[0]+(0.425446741192)*x[1]+(0.469566134089)*x[2]
37161            arg[3,0,1,1]=(-0.080272513364)*x[0]+(-0.437416002114)*x[1]+(0.741423922011)*x[2]
37162            arg[3,0,2,0]=(0.0202920395247)*x[0]+(0.724451134981)*x[1]+(-0.628631137287)*x[2]
37163            arg[3,0,2,1]=(1.27329890828)*x[0]+(1.32598594097)*x[1]+(-1.03893516914)*x[2]
37164            arg[3,1,0,0]=(-0.316679599208)*x[0]+(1.37172239358)*x[1]+(-0.333448830595)*x[2]
37165            arg[3,1,0,1]=(-0.97422120848)*x[0]+(-0.800596641862)*x[1]+(1.21296910893)*x[2]
37166            arg[3,1,1,0]=(-0.791725431754)*x[0]+(0.173363698424)*x[1]+(-0.137920990647)*x[2]
37167            arg[3,1,1,1]=(-0.104259554446)*x[0]+(1.14966042893)*x[1]+(0.694287361582)*x[2]
37168            arg[3,1,2,0]=(0.130345878498)*x[0]+(0.186936528352)*x[1]+(-1.74442226692)*x[2]
37169            arg[3,1,2,1]=(-0.952031053033)*x[0]+(0.718038193789)*x[1]+(-0.912958209036)*x[2]
37170            arg[3,2,0,0]=(-1.16180973047)*x[0]+(0.0107173530275)*x[1]+(1.30278786691)*x[2]
37171            arg[3,2,0,1]=(-0.224509227379)*x[0]+(0.0996327632409)*x[1]+(-0.590950424929)*x[2]
37172            arg[3,2,1,0]=(1.37202300472)*x[0]+(-1.46745698646)*x[1]+(-0.811483806572)*x[2]
37173            arg[3,2,1,1]=(1.4828065241)*x[0]+(-0.177365694124)*x[1]+(0.723931620237)*x[2]
37174            arg[3,2,2,0]=(0.230529059637)*x[0]+(0.728445639896)*x[1]+(-0.566988770509)*x[2]
37175            arg[3,2,2,1]=(0.797697737992)*x[0]+(-1.13322423945)*x[1]+(-1.1409387296)*x[2]
37176            arg[3,3,0,0]=(0.217205133789)*x[0]+(-0.510677603419)*x[1]+(-0.580535665335)*x[2]
37177            arg[3,3,0,1]=(-0.388656568244)*x[0]+(-0.906189671302)*x[1]+(0.44802765855)*x[2]
37178            arg[3,3,1,0]=(0.13492738758)*x[0]+(-0.0523341874741)*x[1]+(1.42846176777)*x[2]
37179            arg[3,3,1,1]=(0.243377010926)*x[0]+(-0.701174291473)*x[1]+(-0.756059212704)*x[2]
37180            arg[3,3,2,0]=(1.48359083301)*x[0]+(1.17692500152)*x[1]+(-0.184437593764)*x[2]
37181            arg[3,3,2,1]=(-0.105457636222)*x[0]+(-0.0190796656068)*x[1]+(-0.938560206034)*x[2]
37182            arg[3,4,0,0]=(-0.101684388703)*x[0]+(-1.19809056647)*x[1]+(1.1989510907)*x[2]
37183            arg[3,4,0,1]=(-1.0745487924)*x[0]+(-0.37560532919)*x[1]+(-0.967022985879)*x[2]
37184            arg[3,4,1,0]=(0.315585027641)*x[0]+(-0.238716421886)*x[1]+(-0.275850551625)*x[2]
37185            arg[3,4,1,1]=(-0.824271180248)*x[0]+(-0.0649845724269)*x[1]+(0.530472696035)*x[2]
37186            arg[3,4,2,0]=(-0.518165130932)*x[0]+(1.44722596827)*x[1]+(0.072367534289)*x[2]
37187            arg[3,4,2,1]=(-0.247477354356)*x[0]+(0.988584526142)*x[1]+(0.0491978506036)*x[2]
37188            ref[0,0,0,0]=(0.523374388946)*x_ref[0]+(-0.462029311047)*x_ref[1]+(-0.47732568751)*x_ref[2]
37189            ref[0,0,0,1]=(0.641437288282)*x_ref[0]+(-0.245967769804)*x_ref[1]+(-0.882711488334)*x_ref[2]
37190            ref[0,0,1,0]=(-0.039075405101)*x_ref[0]+(0.233479040723)*x_ref[1]+(-0.450244284473)*x_ref[2]
37191            ref[0,0,1,1]=(-1.00711630706)*x_ref[0]+(-0.247720707527)*x_ref[1]+(-0.597073422746)*x_ref[2]
37192            ref[0,0,2,0]=(0.141738833983)*x_ref[0]+(-1.34846391496)*x_ref[1]+(0.214891803475)*x_ref[2]
37193            ref[0,0,2,1]=(0.276967719755)*x_ref[0]+(-0.64300940909)*x_ref[1]+(-1.10068852616)*x_ref[2]
37194            ref[0,1,0,0]=(0.438911917989)*x_ref[0]+(0.588137625057)*x_ref[1]+(0.744848057181)*x_ref[2]
37195            ref[0,1,0,1]=(0.266343859518)*x_ref[0]+(1.24092635599)*x_ref[1]+(0.477206170905)*x_ref[2]
37196            ref[0,1,1,0]=(0.328857688358)*x_ref[0]+(-1.17720038645)*x_ref[1]+(0.285045368661)*x_ref[2]
37197            ref[0,1,1,1]=(-0.0985505878353)*x_ref[0]+(1.11228710542)*x_ref[1]+(0.159347839514)*x_ref[2]
37198            ref[0,1,2,0]=(0.125378210814)*x_ref[0]+(1.51252392793)*x_ref[1]+(-0.0402281595871)*x_ref[2]
37199            ref[0,1,2,1]=(-1.41964435548)*x_ref[0]+(0.825108246489)*x_ref[1]+(0.31679169508)*x_ref[2]
37200            ref[0,2,0,0]=(1.47728541117)*x_ref[0]+(0.957708443424)*x_ref[1]+(-0.187892562217)*x_ref[2]
37201            ref[0,2,0,1]=(0.0614505001405)*x_ref[0]+(0.144444072992)*x_ref[1]+(0.287839563179)*x_ref[2]
37202            ref[0,2,1,0]=(0.512698173313)*x_ref[0]+(0.316852993542)*x_ref[1]+(0.538020705489)*x_ref[2]
37203            ref[0,2,1,1]=(-0.349895838053)*x_ref[0]+(1.50602760725)*x_ref[1]+(-0.959979406715)*x_ref[2]
37204            ref[0,2,2,0]=(-0.618802027626)*x_ref[0]+(0.71544179402)*x_ref[1]+(1.09297898989)*x_ref[2]
37205            ref[0,2,2,1]=(-0.264932530879)*x_ref[0]+(-1.4100323815)*x_ref[1]+(-1.28423925034)*x_ref[2]
37206            ref[0,3,0,0]=(0.481724893561)*x_ref[0]+(-0.546248388253)*x_ref[1]+(-0.214332802735)*x_ref[2]
37207            ref[0,3,0,1]=(-1.33293479098)*x_ref[0]+(0.989294320484)*x_ref[1]+(-0.561974021785)*x_ref[2]
37208            ref[0,3,1,0]=(-0.394718780001)*x_ref[0]+(1.0043343416)*x_ref[1]+(1.51370839793)*x_ref[2]
37209            ref[0,3,1,1]=(1.08238957373)*x_ref[0]+(0.591631122094)*x_ref[1]+(0.075283954318)*x_ref[2]
37210            ref[0,3,2,0]=(-1.0250149161)*x_ref[0]+(-0.739848118412)*x_ref[1]+(0.736595112789)*x_ref[2]
37211            ref[0,3,2,1]=(-1.08033009366)*x_ref[0]+(-0.574926147021)*x_ref[1]+(0.421251948724)*x_ref[2]
37212            ref[0,4,0,0]=(-0.0894466241931)*x_ref[0]+(1.14935896473)*x_ref[1]+(-0.490410015077)*x_ref[2]
37213            ref[0,4,0,1]=(1.07777309372)*x_ref[0]+(1.0672971936)*x_ref[1]+(0.340143160972)*x_ref[2]
37214            ref[0,4,1,0]=(0.905553949676)*x_ref[0]+(0.171320798438)*x_ref[1]+(1.83634812891)*x_ref[2]
37215            ref[0,4,1,1]=(-0.663516264963)*x_ref[0]+(0.14871937304)*x_ref[1]+(-0.697949666962)*x_ref[2]
37216            ref[0,4,2,0]=(1.41806579095)*x_ref[0]+(0.0357313086623)*x_ref[1]+(0.110846683649)*x_ref[2]
37217            ref[0,4,2,1]=(-0.31919270211)*x_ref[0]+(-1.651049084)*x_ref[1]+(-1.47528307262)*x_ref[2]
37218            ref[1,0,0,0]=(0.167209321535)*x_ref[0]+(-1.13066332212)*x_ref[1]+(0.209489173491)*x_ref[2]
37219            ref[1,0,0,1]=(1.45770122794)*x_ref[0]+(1.12024118263)*x_ref[1]+(0.0203526002602)*x_ref[2]
37220            ref[1,0,1,0]=(0.180403238696)*x_ref[0]+(0.580625819717)*x_ref[1]+(-1.00882441351)*x_ref[2]
37221            ref[1,0,1,1]=(-0.20671421669)*x_ref[0]+(-0.199445466326)*x_ref[1]+(0.887365974398)*x_ref[2]
37222            ref[1,0,2,0]=(-0.0109233374932)*x_ref[0]+(0.835241335188)*x_ref[1]+(-0.810658050514)*x_ref[2]
37223            ref[1,0,2,1]=(-1.45991974539)*x_ref[0]+(0.955399748215)*x_ref[1]+(0.398673469474)*x_ref[2]
37224            ref[1,1,0,0]=(0.726687414113)*x_ref[0]+(-1.35343793545)*x_ref[1]+(0.750079540417)*x_ref[2]
37225            ref[1,1,0,1]=(-0.677871860083)*x_ref[0]+(-1.56756818572)*x_ref[1]+(-0.240923946416)*x_ref[2]
37226            ref[1,1,1,0]=(-1.05791511835)*x_ref[0]+(-0.425827952234)*x_ref[1]+(-1.82875340474)*x_ref[2]
37227            ref[1,1,1,1]=(-0.430783664297)*x_ref[0]+(0.552238591434)*x_ref[1]+(0.502702385375)*x_ref[2]
37228            ref[1,1,2,0]=(0.240203734777)*x_ref[0]+(-0.0650121194654)*x_ref[1]+(1.04662204076)*x_ref[2]
37229            ref[1,1,2,1]=(-0.25305133215)*x_ref[0]+(-0.31486026571)*x_ref[1]+(-1.83073697314)*x_ref[2]
37230            ref[1,2,0,0]=(-1.09643062195)*x_ref[0]+(-0.437887555247)*x_ref[1]+(-1.33970467276)*x_ref[2]
37231            ref[1,2,0,1]=(1.24489646204)*x_ref[0]+(1.0714412157)*x_ref[1]+(-0.192090595585)*x_ref[2]
37232            ref[1,2,1,0]=(0.029290840641)*x_ref[0]+(-0.940655160496)*x_ref[1]+(-0.820414570983)*x_ref[2]
37233            ref[1,2,1,1]=(-0.677190307386)*x_ref[0]+(-0.00164385522847)*x_ref[1]+(-0.46460277293)*x_ref[2]
37234            ref[1,2,2,0]=(-0.320006508895)*x_ref[0]+(1.13412133331)*x_ref[1]+(-0.619705535377)*x_ref[2]
37235            ref[1,2,2,1]=(-0.0220330715863)*x_ref[0]+(-0.64687567378)*x_ref[1]+(0.0957350181768)*x_ref[2]
37236            ref[1,3,0,0]=(-0.25073330162)*x_ref[0]+(0.85795600432)*x_ref[1]+(1.53293778947)*x_ref[2]
37237            ref[1,3,0,1]=(-0.183346360622)*x_ref[0]+(0.266035391885)*x_ref[1]+(-0.422228348627)*x_ref[2]
37238            ref[1,3,1,0]=(-0.41587781442)*x_ref[0]+(-0.0103068212789)*x_ref[1]+(0.440665738388)*x_ref[2]
37239            ref[1,3,1,1]=(1.41825912495)*x_ref[0]+(-0.0611650685825)*x_ref[1]+(0.972511387093)*x_ref[2]
37240            ref[1,3,2,0]=(-0.336532230508)*x_ref[0]+(-0.0123275905127)*x_ref[1]+(-0.254643420879)*x_ref[2]
37241            ref[1,3,2,1]=(-0.365437122858)*x_ref[0]+(0.71384297093)*x_ref[1]+(0.447802028475)*x_ref[2]
37242            ref[1,4,0,0]=(1.33371172009)*x_ref[0]+(1.16948649723)*x_ref[1]+(-0.624453779138)*x_ref[2]
37243            ref[1,4,0,1]=(0.0919647304743)*x_ref[0]+(1.20509307321)*x_ref[1]+(0.454668856107)*x_ref[2]
37244            ref[1,4,1,0]=(0.179837036326)*x_ref[0]+(1.27470487309)*x_ref[1]+(0.248127557917)*x_ref[2]
37245            ref[1,4,1,1]=(-0.0163592123585)*x_ref[0]+(-1.09373628426)*x_ref[1]+(-1.07284707536)*x_ref[2]
37246            ref[1,4,2,0]=(-0.0617954247638)*x_ref[0]+(0.180336071139)*x_ref[1]+(0.0715760255435)*x_ref[2]
37247            ref[1,4,2,1]=(0.449148667011)*x_ref[0]+(0.476092516356)*x_ref[1]+(-0.235672424702)*x_ref[2]
37248            ref[2,0,0,0]=(1.06662096238)*x_ref[0]+(1.52079387843)*x_ref[1]+(-0.465087313097)*x_ref[2]
37249            ref[2,0,0,1]=(-0.0113962755891)*x_ref[0]+(0.459517781034)*x_ref[1]+(0.423861505703)*x_ref[2]
37250            ref[2,0,1,0]=(1.19571956088)*x_ref[0]+(1.02444853474)*x_ref[1]+(-1.31054246173)*x_ref[2]
37251            ref[2,0,1,1]=(-1.39536067914)*x_ref[0]+(0.884184554143)*x_ref[1]+(-0.650926411157)*x_ref[2]
37252            ref[2,0,2,0]=(-0.328672728946)*x_ref[0]+(1.07247782219)*x_ref[1]+(-0.61103916867)*x_ref[2]
37253            ref[2,0,2,1]=(0.155304775433)*x_ref[0]+(-1.34794080729)*x_ref[1]+(-0.931891854948)*x_ref[2]
37254            ref[2,1,0,0]=(-0.953726622792)*x_ref[0]+(0.483614421199)*x_ref[1]+(1.07026616662)*x_ref[2]
37255            ref[2,1,0,1]=(0.720797127905)*x_ref[0]+(1.31309704242)*x_ref[1]+(0.534213389945)*x_ref[2]
37256            ref[2,1,1,0]=(1.12642665973)*x_ref[0]+(-0.375134467285)*x_ref[1]+(0.223566393552)*x_ref[2]
37257            ref[2,1,1,1]=(-0.380892997026)*x_ref[0]+(-0.661627351046)*x_ref[1]+(0.596842673155)*x_ref[2]
37258            ref[2,1,2,0]=(0.233212348554)*x_ref[0]+(0.106673294307)*x_ref[1]+(-0.22268427628)*x_ref[2]
37259            ref[2,1,2,1]=(0.67982223365)*x_ref[0]+(-1.53842407155)*x_ref[1]+(0.995328875213)*x_ref[2]
37260            ref[2,2,0,0]=(1.5835734841)*x_ref[0]+(0.178824495609)*x_ref[1]+(-0.31332770355)*x_ref[2]
37261            ref[2,2,0,1]=(0.101063103927)*x_ref[0]+(-0.0437670737377)*x_ref[1]+(-0.109514170393)*x_ref[2]
37262            ref[2,2,1,0]=(-0.892614006193)*x_ref[0]+(0.952803608394)*x_ref[1]+(-0.643308315526)*x_ref[2]
37263            ref[2,2,1,1]=(-0.0606310193159)*x_ref[0]+(-0.768822197122)*x_ref[1]+(-1.43018654257)*x_ref[2]
37264            ref[2,2,2,0]=(0.107463856971)*x_ref[0]+(1.27309352669)*x_ref[1]+(1.65234673057)*x_ref[2]
37265            ref[2,2,2,1]=(0.699315319729)*x_ref[0]+(-0.345960580793)*x_ref[1]+(-1.61621444026)*x_ref[2]
37266            ref[2,3,0,0]=(0.9761936338)*x_ref[0]+(0.665547749873)*x_ref[1]+(-1.07512721449)*x_ref[2]
37267            ref[2,3,0,1]=(1.26182572924)*x_ref[0]+(-0.416232568884)*x_ref[1]+(-0.356737405174)*x_ref[2]
37268            ref[2,3,1,0]=(-0.477958253427)*x_ref[0]+(0.198049156904)*x_ref[1]+(-0.295022782364)*x_ref[2]
37269            ref[2,3,1,1]=(0.412187471103)*x_ref[0]+(0.335655056628)*x_ref[1]+(-0.0873658679329)*x_ref[2]
37270            ref[2,3,2,0]=(0.168439409327)*x_ref[0]+(-0.131948711409)*x_ref[1]+(1.66777364846)*x_ref[2]
37271            ref[2,3,2,1]=(0.508795552378)*x_ref[0]+(-0.390505460243)*x_ref[1]+(0.13190717559)*x_ref[2]
37272            ref[2,4,0,0]=(0.446543094067)*x_ref[0]+(-1.49620720862)*x_ref[1]+(-1.23581717894)*x_ref[2]
37273            ref[2,4,0,1]=(-0.964404449625)*x_ref[0]+(0.229523164331)*x_ref[1]+(-0.0829574431644)*x_ref[2]
37274            ref[2,4,1,0]=(-0.0222885761611)*x_ref[0]+(-0.151419169433)*x_ref[1]+(0.0521007301341)*x_ref[2]
37275            ref[2,4,1,1]=(-0.299232945099)*x_ref[0]+(0.831745448311)*x_ref[1]+(0.0354480204711)*x_ref[2]
37276            ref[2,4,2,0]=(0.350303784953)*x_ref[0]+(0.0608299778701)*x_ref[1]+(1.10333111365)*x_ref[2]
37277            ref[2,4,2,1]=(0.719573610926)*x_ref[0]+(-0.0868905011544)*x_ref[1]+(0.852804030732)*x_ref[2]
37278            ref[3,0,0,0]=(0.643070908885)*x_ref[0]+(0.846705112025)*x_ref[1]+(-0.340473447494)*x_ref[2]
37279            ref[3,0,0,1]=(-0.180433440729)*x_ref[0]+(1.20490149625)*x_ref[1]+(1.65034499912)*x_ref[2]
37280            ref[3,0,1,0]=(-0.454239570444)*x_ref[0]+(0.425446741192)*x_ref[1]+(0.469566134089)*x_ref[2]
37281            ref[3,0,1,1]=(-0.080272513364)*x_ref[0]+(-0.437416002114)*x_ref[1]+(0.741423922011)*x_ref[2]
37282            ref[3,0,2,0]=(0.0202920395247)*x_ref[0]+(0.724451134981)*x_ref[1]+(-0.628631137287)*x_ref[2]
37283            ref[3,0,2,1]=(1.27329890828)*x_ref[0]+(1.32598594097)*x_ref[1]+(-1.03893516914)*x_ref[2]
37284            ref[3,1,0,0]=(-0.316679599208)*x_ref[0]+(1.37172239358)*x_ref[1]+(-0.333448830595)*x_ref[2]
37285            ref[3,1,0,1]=(-0.97422120848)*x_ref[0]+(-0.800596641862)*x_ref[1]+(1.21296910893)*x_ref[2]
37286            ref[3,1,1,0]=(-0.791725431754)*x_ref[0]+(0.173363698424)*x_ref[1]+(-0.137920990647)*x_ref[2]
37287            ref[3,1,1,1]=(-0.104259554446)*x_ref[0]+(1.14966042893)*x_ref[1]+(0.694287361582)*x_ref[2]
37288            ref[3,1,2,0]=(0.130345878498)*x_ref[0]+(0.186936528352)*x_ref[1]+(-1.74442226692)*x_ref[2]
37289            ref[3,1,2,1]=(-0.952031053033)*x_ref[0]+(0.718038193789)*x_ref[1]+(-0.912958209036)*x_ref[2]
37290            ref[3,2,0,0]=(-1.16180973047)*x_ref[0]+(0.0107173530275)*x_ref[1]+(1.30278786691)*x_ref[2]
37291            ref[3,2,0,1]=(-0.224509227379)*x_ref[0]+(0.0996327632409)*x_ref[1]+(-0.590950424929)*x_ref[2]
37292            ref[3,2,1,0]=(1.37202300472)*x_ref[0]+(-1.46745698646)*x_ref[1]+(-0.811483806572)*x_ref[2]
37293            ref[3,2,1,1]=(1.4828065241)*x_ref[0]+(-0.177365694124)*x_ref[1]+(0.723931620237)*x_ref[2]
37294            ref[3,2,2,0]=(0.230529059637)*x_ref[0]+(0.728445639896)*x_ref[1]+(-0.566988770509)*x_ref[2]
37295            ref[3,2,2,1]=(0.797697737992)*x_ref[0]+(-1.13322423945)*x_ref[1]+(-1.1409387296)*x_ref[2]
37296            ref[3,3,0,0]=(0.217205133789)*x_ref[0]+(-0.510677603419)*x_ref[1]+(-0.580535665335)*x_ref[2]
37297            ref[3,3,0,1]=(-0.388656568244)*x_ref[0]+(-0.906189671302)*x_ref[1]+(0.44802765855)*x_ref[2]
37298            ref[3,3,1,0]=(0.13492738758)*x_ref[0]+(-0.0523341874741)*x_ref[1]+(1.42846176777)*x_ref[2]
37299            ref[3,3,1,1]=(0.243377010926)*x_ref[0]+(-0.701174291473)*x_ref[1]+(-0.756059212704)*x_ref[2]
37300            ref[3,3,2,0]=(1.48359083301)*x_ref[0]+(1.17692500152)*x_ref[1]+(-0.184437593764)*x_ref[2]
37301            ref[3,3,2,1]=(-0.105457636222)*x_ref[0]+(-0.0190796656068)*x_ref[1]+(-0.938560206034)*x_ref[2]
37302            ref[3,4,0,0]=(-0.101684388703)*x_ref[0]+(-1.19809056647)*x_ref[1]+(1.1989510907)*x_ref[2]
37303            ref[3,4,0,1]=(-1.0745487924)*x_ref[0]+(-0.37560532919)*x_ref[1]+(-0.967022985879)*x_ref[2]
37304            ref[3,4,1,0]=(0.315585027641)*x_ref[0]+(-0.238716421886)*x_ref[1]+(-0.275850551625)*x_ref[2]
37305            ref[3,4,1,1]=(-0.824271180248)*x_ref[0]+(-0.0649845724269)*x_ref[1]+(0.530472696035)*x_ref[2]
37306            ref[3,4,2,0]=(-0.518165130932)*x_ref[0]+(1.44722596827)*x_ref[1]+(0.072367534289)*x_ref[2]
37307            ref[3,4,2,1]=(-0.247477354356)*x_ref[0]+(0.988584526142)*x_ref[1]+(0.0491978506036)*x_ref[2]
37308          res=interpolate(arg,where=w_ref)
37309          self.failUnless(isinstance(res,Data),"wrong type of result.")
37310          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
37311          self.failUnlessEqual(res.getShape(),(4, 5, 3, 2),"wrong shape of result.")
37312          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
37313       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
37314       def test_interpolation_onFunction_fromData_Function_rank0(self):
37315          """
37316          tests interpolation for rank 0 Data onto the Function
37317    
37318          assumptions: self.domain supports inpterpolation from Function onto Function
37319          """
37320          o=self.order
37321          dim=self.domain.getDim()
37322          w_ref=Function(self.domain)
37323          x_ref=w_ref.getX()
37324          w=Function(self.domain)
37325          x=w.getX()
37326          arg=Data(0,(),w)
37327          ref=Data(0,(),w_ref)
37328          if dim==2:
37329            arg=(0.0969659653911)*x[0]**o+(-0.0778467995236)*x[0]+(-0.896520347956)*x[1]**o+(0.452579859858)*x[1]
37330            ref=(0.0969659653911)*x_ref[0]**o+(-0.0778467995236)*x_ref[0]+(-0.896520347956)*x_ref[1]**o+(0.452579859858)*x_ref[1]
37331          else:
37332            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]
37333            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]
37334          res=interpolate(arg,where=w_ref)
37335          self.failUnless(isinstance(res,Data),"wrong type of result.")
37336          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
37337          self.failUnlessEqual(res.getShape(),(),"wrong shape of result.")
37338          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
37339       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
37340       def test_interpolation_onFunction_fromData_Function_rank1(self):
37341          """
37342          tests interpolation for rank 1 Data onto the Function
37343    
37344          assumptions: self.domain supports inpterpolation from Function onto Function
37345          """
37346          o=self.order
37347          dim=self.domain.getDim()
37348          w_ref=Function(self.domain)
37349          x_ref=w_ref.getX()
37350          w=Function(self.domain)
37351          x=w.getX()
37352          arg=Data(0,(2,),w)
37353          ref=Data(0,(2,),w_ref)
37354          if dim==2:
37355            arg[0]=(0.725240039321)*x[0]**o+(0.326302203613)*x[0]+(0.356072156898)*x[1]**o+(0.980066388307)*x[1]
37356            arg[1]=(0.171551389095)*x[0]**o+(0.379133470853)*x[0]+(0.120608077039)*x[1]**o+(-0.413701037132)*x[1]
37357            ref[0]=(0.725240039321)*x_ref[0]**o+(0.326302203613)*x_ref[0]+(0.356072156898)*x_ref[1]**o+(0.980066388307)*x_ref[1]
37358            ref[1]=(0.171551389095)*x_ref[0]**o+(0.379133470853)*x_ref[0]+(0.120608077039)*x_ref[1]**o+(-0.413701037132)*x_ref[1]
37359          else:
37360            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]
37361            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]
37362            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]
37363            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]
37364          res=interpolate(arg,where=w_ref)
37365          self.failUnless(isinstance(res,Data),"wrong type of result.")
37366          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
37367          self.failUnlessEqual(res.getShape(),(2,),"wrong shape of result.")
37368          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
37369       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
37370       def test_interpolation_onFunction_fromData_Function_rank2(self):
37371          """
37372          tests interpolation for rank 2 Data onto the Function
37373    
37374          assumptions: self.domain supports inpterpolation from Function onto Function
37375          """
37376          o=self.order
37377          dim=self.domain.getDim()
37378          w_ref=Function(self.domain)
37379          x_ref=w_ref.getX()
37380          w=Function(self.domain)
37381          x=w.getX()
37382          arg=Data(0,(4, 5),w)
37383          ref=Data(0,(4, 5),w_ref)
37384          if dim==2:
37385            arg[0,0]=(0.694866182164)*x[0]**o+(0.759641527396)*x[0]+(-0.696641139757)*x[1]**o+(0.617978953453)*x[1]
37386            arg[0,1]=(0.75058922213)*x[0]**o+(0.580832851854)*x[0]+(-0.237039031011)*x[1]**o+(0.53518450519)*x[1]
37387            arg[0,2]=(-0.191933019173)*x[0]**o+(-0.0638088686782)*x[0]+(0.871645336149)*x[1]**o+(0.256502442034)*x[1]
37388            arg[0,3]=(0.829189580591)*x[0]**o+(0.186064016504)*x[0]+(-0.204496850484)*x[1]**o+(-0.314535598074)*x[1]
37389            arg[0,4]=(0.170968249419)*x[0]**o+(-0.719959835105)*x[0]+(0.367000223059)*x[1]**o+(-0.210239222752)*x[1]
37390            arg[1,0]=(-0.424311493894)*x[0]**o+(-0.381097143579)*x[0]+(-0.54925292526)*x[1]**o+(-0.393349131169)*x[1]
37391            arg[1,1]=(0.148181508143)*x[0]**o+(-0.224530937841)*x[0]+(0.778748719265)*x[1]**o+(-0.522104185968)*x[1]
37392            arg[1,2]=(0.134819103337)*x[0]**o+(0.0388165865124)*x[0]+(-0.772318490115)*x[1]**o+(-0.928611227188)*x[1]
37393            arg[1,3]=(0.790807030518)*x[0]**o+(-0.849964960983)*x[0]+(-0.79407080953)*x[1]**o+(-0.626315155005)*x[1]
37394            arg[1,4]=(-0.998842104726)*x[0]**o+(-0.325938405818)*x[0]+(-0.81445420822)*x[1]**o+(0.868281547664)*x[1]
37395            arg[2,0]=(-0.975572739854)*x[0]**o+(-0.0630975707316)*x[0]+(0.0688031679656)*x[1]**o+(0.557152464527)*x[1]
37396            arg[2,1]=(0.389814261767)*x[0]**o+(0.523891881188)*x[0]+(-0.558388242102)*x[1]**o+(-0.45720905598)*x[1]
37397            arg[2,2]=(0.763327517145)*x[0]**o+(0.637954909904)*x[0]+(0.407602154355)*x[1]**o+(0.707118271445)*x[1]
37398            arg[2,3]=(-0.823371482965)*x[0]**o+(0.918685041464)*x[0]+(0.991991462022)*x[1]**o+(0.489892661208)*x[1]
37399            arg[2,4]=(-0.661567455889)*x[0]**o+(-0.00566795402284)*x[0]+(0.86705493299)*x[1]**o+(0.00158321121677)*x[1]
37400            arg[3,0]=(0.365456232671)*x[0]**o+(-0.587373381962)*x[0]+(0.751291631507)*x[1]**o+(-0.0605248375222)*x[1]
37401            arg[3,1]=(0.546630294768)*x[0]**o+(-0.903068297271)*x[0]+(0.486313468693)*x[1]**o+(0.355322343068)*x[1]
37402            arg[3,2]=(0.233755056849)*x[0]**o+(-0.350375425427)*x[0]+(0.0115435986629)*x[1]**o+(-0.713895312694)*x[1]
37403            arg[3,3]=(0.385411302842)*x[0]**o+(0.0733743700003)*x[0]+(0.439219708301)*x[1]**o+(0.129391539278)*x[1]
37404            arg[3,4]=(-0.194268604537)*x[0]**o+(0.175829932738)*x[0]+(0.866342013931)*x[1]**o+(-0.213891435501)*x[1]
37405            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]
37406            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]
37407            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]
37408            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]
37409            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]
37410            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]
37411            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]
37412            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]
37413            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]
37414            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]
37415            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]
37416            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]
37417            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]
37418            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]
37419            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]
37420            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]
37421            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]
37422            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]
37423            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]
37424            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]
37425          else:
37426            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]
37427            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]
37428            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]
37429            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]
37430            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]
37431            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]
37432            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]
37433            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]
37434            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]
37435            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]
37436            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]
37437            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]
37438            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]
37439            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]
37440            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]
37441            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]
37442            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]
37443            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]
37444            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]
37445            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]
37446            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]
37447            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]
37448            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]
37449            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]
37450            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]
37451            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]
37452            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]
37453            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]
37454            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]
37455            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]
37456            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]
37457            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]
37458            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]
37459            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]
37460            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]
37461            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]
37462            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]
37463            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]
37464            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]
37465            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]
37466          res=interpolate(arg,where=w_ref)
37467          self.failUnless(isinstance(res,Data),"wrong type of result.")
37468          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
37469          self.failUnlessEqual(res.getShape(),(4, 5),"wrong shape of result.")
37470          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
37471       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
37472       def test_interpolation_onFunction_fromData_Function_rank3(self):
37473          """
37474          tests interpolation for rank 3 Data onto the Function
37475    
37476          assumptions: self.domain supports inpterpolation from Function onto Function
37477          """
37478          o=self.order
37479          dim=self.domain.getDim()
37480          w_ref=Function(self.domain)
37481          x_ref=w_ref.getX()
37482          w=Function(self.domain)
37483          x=w.getX()
37484          arg=Data(0,(6, 2, 2),w)
37485          ref=Data(0,(6, 2, 2),w_ref)
37486          if dim==2:
37487            arg[0,0,0]=(0.298635657968)*x[0]**o+(0.917751825722)*x[0]+(-0.000157823722007)*x[1]**o+(-0.202721972906)*x[1]
37488            arg[0,0,1]=(0.164880328673)*x[0]**o+(-0.310233508297)*x[0]+(-0.976270095138)*x[1]**o+(-0.86689594754)*x[1]
37489            arg[0,1,0]=(-0.130835262631)*x[0]**o+(-0.485555484157)*x[0]+(0.055655815912)*x[1]**o+(-0.488201458657)*x[1]
37490            arg[0,1,1]=(-0.339982923518)*x[0]**o+(0.435464515598)*x[0]+(-0.986955506076)*x[1]**o+(0.590966000031)*x[1]
37491            arg[1,0,0]=(0.150280127463)*x[0]**o+(0.827183876844)*x[0]+(0.468401701763)*x[1]**o+(-0.879871376091)*x[1]
37492            arg[1,0,1]=(0.48434831025)*x[0]**o+(-0.623958069024)*x[0]+(-0.781911271849)*x[1]**o+(0.34398679645)*x[1]
37493            arg[1,1,0]=(0.124273770782)*x[0]**o+(-0.683096046651)*x[0]+(0.769636378285)*x[1]**o+(-0.471970832437)*x[1]
37494            arg[1,1,1]=(0.769777912195)*x[0]**o+(-0.740802020319)*x[0]+(0.659109761568)*x[1]**o+(-0.495444655614)*x[1]
37495            arg[2,0,0]=(0.270063777356)*x[0]**o+(0.558849439723)*x[0]+(0.128946408169)*x[1]**o+(-0.962495994445)*x[1]
37496            arg[2,0,1]=(-0.0403460883009)*x[0]**o+(0.084983334662)*x[0]+(0.297573700577)*x[1]**o+(0.911774703678)*x[1]
37497            arg[2,1,0]=(0.821680378088)*x[0]**o+(0.10823172035)*x[0]+(-0.150213295203)*x[1]**o+(0.310471151961)*x[1]
37498            arg[2,1,1]=(-0.407033195691)*x[0]**o+(0.716262964777)*x[0]+(-0.262475432397)*x[1]**o+(-0.234158898682)*x[1]
37499            arg[3,0,0]=(-0.109193787139)*x[0]**o+(0.403892847875)*x[0]+(0.794082322801)*x[1]**o+(0.669070572253)*x[1]
37500            arg[3,0,1]=(0.969770217228)*x[0]**o+(0.735280190411)*x[0]+(-0.339891263613)*x[1]**o+(0.859989056027)*x[1]
37501            arg[3,1,0]=(-0.906193851712)*x[0]**o+(-0.330178132059)*x[0]+(-0.48035114847)*x[1]**o+(-0.48050067188)*x[1]
37502            arg[3,1,1]=(0.922778761752)*x[0]**o+(0.899145572602)*x[0]+(-0.991922151176)*x[1]**o+(0.615744852656)*x[1]
37503            arg[4,0,0]=(0.457092295352)*x[0]**o+(-0.120904430848)*x[0]+(0.575186782188)*x[1]**o+(-0.685522788659)*x[1]
37504            arg[4,0,1]=(0.254934861907)*x[0]**o+(-0.208850206761)*x[0]+(-0.0933987467304)*x[1]**o+(0.687715419212)*x[1]
37505            arg[4,1,0]=(0.483890412252)*x[0]**o+(-0.192055355216)*x[0]+(0.0891595367214)*x[1]**o+(-0.835900121805)*x[1]
37506            arg[4,1,1]=(-0.281109655935)*x[0]**o+(0.279867178407)*x[0]+(0.843094337157)*x[1]**o+(-0.457583293166)*x[1]
37507            arg[5,0,0]=(0.595078633674)*x[0]**o+(-0.994652086537)*x[0]+(0.111354924733)*x[1]**o+(0.715580298167)*x[1]
37508            arg[5,0,1]=(0.823409068766)*x[0]**o+(0.41047089933)*x[0]+(-0.610763277348)*x[1]**o+(0.0991108428868)*x[1]
37509            arg[5,1,0]=(-0.0291539407811)*x[0]**o+(0.371799932333)*x[0]+(0.631702366805)*x[1]**o+(-0.858415923309)*x[1]
37510            arg[5,1,1]=(-0.636146064991)*x[0]**o+(0.407248062196)*x[0]+(-0.507069143933)*x[1]**o+(-0.0509951705166)*x[1]
37511            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]
37512            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]
37513            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]
37514            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]
37515            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]
37516            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]
37517            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]
37518            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]
37519            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]
37520            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]
37521            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]
37522            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]
37523            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]
37524            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]
37525            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]
37526            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]
37527            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]
37528            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]
37529            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]
37530            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]
37531            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]
37532            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]
37533            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]
37534            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]
37535          else:
37536            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]
37537            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]
37538            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]
37539            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]
37540            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]
37541            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]
37542            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]
37543            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]
37544            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]
37545            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]
37546            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]
37547            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]
37548            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]
37549            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]
37550            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]
37551            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]
37552            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]
37553            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]
37554            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]
37555            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]
37556            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]
37557            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]
37558            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]
37559            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]
37560            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]
37561            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]
37562            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]
37563            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]
37564            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]
37565            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]
37566            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]
37567            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]
37568            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]
37569            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]
37570            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]
37571            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]
37572            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]
37573            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]
37574            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]
37575            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[1]+(-0.618281954095)*x_ref[2]**o+(-0.862162207352)*x_ref[2]
37576            ref[4,0,0]=(-0.196356423488)*x_ref[0]**o+(-0.871482508533)*x_ref[0]+(-0.367390886081)*x_ref[1]**o+(0.580310108591)*x_ref[1]+(0.857970671482)*x_ref[2]**o+(0.123685673359)*x_ref[2]
37577            ref[4,0,1]=(0.715104674022)*x_ref[0]**o+(-0.00444438628932)*x_ref[0]+(0.538883210054)*x_ref[1]**o+(0.179340705463)*x_ref[1]+(-0.605249436909)*x_ref[2]**o+(-0.744253826562)*x_ref[2]
37578            ref[4,1,0]=(-0.315453893647)*x_ref[0]**o+(-0.560946546082)*x_ref[0]+(-0.674448928458)*x_ref[1]**o+(-0.510243444449)*x_ref[1]+(0.592615876779)*x_ref[2]**o+(0.218024801263)*x_ref[2]
37579            ref[4,1,1]=(-0.46902473326)*x_ref[0]**o+(-0.573926691452)*x_ref[0]+(0.827898114814)*x_ref[1]**o+(-0.644208082857)*x_ref[1]+(-0.956169254426)*x_ref[2]**o+(-0.297101737561)*x_ref[2]
37580            ref[5,0,0]=(0.45818164662)*x_ref[0]**o+(0.219667021464)*x_ref[0]+(-0.453125753418)*x_ref[1]**o+(-0.201214929832)*x_ref[1]+(0.135363067088)*x_ref[2]**o+(0.850636247323)*x_ref[2]
37581            ref[5,0,1]=(0.296120304926)*x_ref[0]**o+(-0.139971296351)*x_ref[0]+(0.448115780401)*x_ref[1]**o+(-0.300602343399)*x_ref[1]+(-0.165568753274)*x_ref[2]**o+(0.984788641639)*x_ref[2]
37582            ref[5,1,0]=(0.321875942152)*x_ref[0]**o+(-0.403122417353)*x_ref[0]+(-0.148664639927)*x_ref[1]**o+(0.644143662303)*x_ref[1]+(-0.718311175542)*x_ref[2]**o+(-0.850248996913)*x_ref[2]
37583            ref[5,1,1]=(0.44869757406)*x_ref[0]**o+(0.0292094503086)*x_ref[0]+(-0.159644215279)*x_ref[1]**o+(0.695976060359)*x_ref[1]+(-0.221444458713)*x_ref[2]**o+(-0.42974111206)*x_ref[2]
37584          res=interpolate(arg,where=w_ref)
37585          self.failUnless(isinstance(res,Data),"wrong type of result.")
37586          self.failUnlessEqual(res.getFunctionSpace(),w_ref,"wrong functionspace of result.")
37587          self.failUnlessEqual(res.getShape(),(6, 2, 2),"wrong shape of result.")
37588          self.failUnless(Lsup(res-ref)<=self.RES_TOL*Lsup(ref),"wrong result")
37589       #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
37590       def test_interpolation_onFunction_fromData_Function_rank4(self):
37591          """
37592          tests interpolation for rank 4 Data onto the Function
37593    
37594          assumptions: self.domain supports inpterpolation from Function onto Function
37595          """
37596          o=self.order
37597          dim=self.domain.getDim()
37598          w_ref=Function(self.domain)
37599          x_ref=w_ref.getX()
37600          w=Function(self.domain)
37601          x=w.getX()
37602          arg=Data(0,(4, 5, 3, 2),w)
37603          ref=Data(0,(4, 5, 3, 2),w_ref)
37604          if dim==2:
37605            arg[0,0,0,0]=(0.0737428272134)*x[0]**o+(0.841780036645)*x[0]+(-0.110824257531)*x[1]**o+(-0.957726444468)*x[1]
37606            arg[0,0,0,1]=(-0.934840410671)*x[0]**o+(-0.83301064321)*x[0]+(-0.352287650266)*x[1]**o+(-0.961111564077)*x[1]
37607            arg[0,0,1,0]=(-0.829500940226)*x[0]**o+(0.644171710931)*x[0]+(0.232545739722)*x[1]**o+(0.584336012862)*x[1]
37608            arg[0,0,1,1]=(0.426298830976)*x[0]**o+(-0.615281197268)*x[0]+(0.206334026192)*x[1]**o+(-0.443698947044)*x[1]
37609            arg[0,0,2,0]=(-0.236495891617)*x[0]**o+(0.0883376851179)*x[0]+(-0.176541434356)*x[1]**o+(0.297175301617)*x[1]
37610            arg[0,0,2,1]=(-0.879955324373)*x[0]**o+(-0.244778913771)*x[0]+(0.244131188594)*x[1]**o+(-0.334739112198)*x[1]
37611            arg[0,1,0,0]=(-0.64887128006)*x[0]**o+(-0.489951454377)*x[0]+(-0.328402433668)*x[1]**o+(0.229814237117)*x[1]
37612            arg[0,1,0,1]=(-0.339451656097)*x[0]**o+(-0.409320682304)*x[0]+(0.216482338677)*x[1]**o+(-0.10594373055)*x[1]
37613            arg[0,1,1,0]=(-0.350538479425)*x[0]**o+(0.466450046985)*x[0]+(-0.779124795292)*x[1]**o+(-0.654562596704)*x[1]
37614            arg[0,1,1,1]=(0.00350092879868)*x[0]**o+(-0.214643088647)*x[0]+(0.786934081411)*x[1]**o+(-0.296853380043)*x[1]
37615            arg[0,1,2,0]=(-0.640183955648)*x[0]**o+(0.568647968237)*x[0]+(0.575533476901)*x[1]**o+(0.854540594085)*x[1]
37616            arg[0,1,2,1]=(0.633674899518)*x[0]**o+(0.829255679443)*x[0]+(0.537888424303)*x[1]**o+(-0.495082587617)*x[1]
37617            arg[0,2,0,0]=(-0.700436798342)*x[0]**o+(-0.732581859026)*x[0]+(-0.508905353053)*x[1]**o+(0.664601151676)*x[1]
37618            arg[0,2,0,1]=(0.720335764302)*x[0]**o+(0.941159917988)*x[0]+(0.2817440547)*x[1]**o+(0.553712160058)*x[1]
37619            arg[0,2,1,0]=(-0.937114312262)*x[0]**o+(-0.115517396201)*x[0]+(-0.672697125905)*x[1]**o+(-0.221320095369)*x[1]
37620            arg[0,2,1,1]=(-0.52059341062)*x[0]**o+(-0.653834647475)*x[0]+(-0.0851100861135)*x[1]**o+(-0.668300210067)*x[1]
37621            arg[0,2,2,0]=(-0.943613035509)*x[0]**o+(-0.294843145822)*x[0]+(0.496278748831)*x[1]**o+(0.901154419425)*x[1]
37622            arg[0,2,2,1]=(-0.421698818203)*x[0]**o+(-0.721918177544)*x[0]+(-0.197855702215)*x[1]**o+(0.50882827715)*x[1]
37623            arg[0,3,0,0]=(0.931990780298)*x[0]**o+(-0.550332606951)*x[0]+(0.401584654642)*x[1]**o+(0.0965259747601)*x[1]
37624            arg[0,3,0,1]=(0.881357708445)*x[0]**o+(0.564624034197)*x[0]+(-0.458191897924)*x[1]**o+(-0.427701112807)*x[1]
37625            arg[0,3,1,0]=(0.624777088081)*x[0]**o+(0.862654721208)*x[0]+(-0.707618093268)*x[1]**o+(0.743304953313)*x[1]
37626            arg[0,3,1,1]=(0.4510836974)*x[0]**o+(-0.357023031453)*x[0]+(-0.00503924010273)*x[1]**o+(0.545024336011)*x[1]
37627            arg[0,3,2,0]=(0.109003851094)*x[0]**o+(0.168659376881)*x[0]+(-0.0578953780655)*x[1]**o+(-0.481212462712)*x[1]
37628            arg[0,3,2,1]=(-0.191183501636)*x[0]**o+(-0.316145516377)*x[0]+(0.402460103016)*x[1]**o+(-0.163612464438)*x[1]
37629            arg[0,4,0,0]=(0.489815345033)*x[0]**o+(0.999138280765)*x[0]+(-0.626627766812)*x[1]**o+(-0.339653992568)*x[1]
37630            arg[0,4,0,1]=(0.616350228791)*x[0]**o+(0.933446438765)*x[0]+(0.944244035512)*x[1]**o+(0.829407789353)*x[1]
37631            arg[0,4,1,0]=(0.619918547863)*x[0]**o+(0.995488719729)*x[0]+(-0.78847429581)*x[1]**o+(0.542645674462)*x[1]
37632            arg[0,4,1,1]=(-0.149244819992)*x[0]**o+(0.921766299925)*x[0]+(0.435255339567)*x[1]**o+(-0.0596561300741)*x[1]
37633            arg[0,4,2,0]=(-0.816364336598)*x[0]**o+(0.701160246658)*x[0]+(-0.616385505652)*x[1]**o+(-0.558625482105)*x[1]
37634            arg[0,4,2,1]=(-0.36944364693)*x[0]**o+(0.243426977623)*x[0]+(-0.61578435391)*x[1]**o+(0.932570326139)*x[1]
37635            arg[1,0,0,0]=(-0.36839962807)*x[0]**o+(0.590534439534)*x[0]+(-0.615158899289)*x[1]**o+(0.973649158296)*x[1]
37636            arg[1,0,0,1]=(0.761515772771)*x[0]**o+(0.706406307012)*x[0]+(0.328712319043)*x[1]**o+(0.438600140517)*x[1]
37637            arg[1,0,1,0]=(0.895080579207)*x[0]**o+(-0.166789328225)*x[0]+(0.807540897371)*x[1]**o+(0.0345522692723)*x[1]
37638            arg[1,0,1,1]=(-0.460062661172)*x[0]**o+(0.505167337562)*x[0]+(0.25155527144)*x[1]**o+(0.601093887451)*x[1]
37639            arg[1,0,2,0]=(0.382129818527)*x[0]**o+(0.694676536542)*x[0]+(0.702794119083)*x[1]**o+(0.704094013056)*x[1]
37640            arg[1,0,2,1]=(0.265476982913)*x[0]**o+(-0.134338744881)*x[0]+(-0.0938910335356)*x[1]**o+(-0.560073316097)*x[1]
37641            arg[1,1,0,0]=(0.977368328792)*x[0]**o+(0.084482890741)*x[0]+(0.57068389287)*x[1]**o+(-0.242087071526)*x[1]
37642            arg[1,1,0,1]=(-0.36067775897)*x[0]**o+(0.768187470286)*x[0]+(-0.881150642619)*x[1]**o+(-0.15839498619)*x[1]
37643            arg[1,1,1,0]=(-0.808263913645)*x[0]**o+(0.788403321664)*x[0]+(0.976206012343)*x[1]**o+(-0.636933353579)*x[1]
37644            arg[1,1,1,1]=(0.699185445546)*x[0]**o+(0.251811206876)*x[0]+(-0.146320762812)*x[1]**o+(-0.248033048423)*x[1]
37645            arg[1,1,2,0]=(-0.782940880812)*x[0]**o+(0.789401686528)*x[0]+(-0.806883904562)*x[1]**o+(0.83689696772)*x[1]
37646            arg[1,1,2,1]=(0.652404993342)*x[0]**o+(-0.135318598212)*x[0]+(0.138928760301)*x[1]**o+(0.675593554805)*x[1]
37647            arg[1,2,0,0]=(0.471746379585)*x[0]**o+(-0.989783415847)*x[0]+(-0.0935052296418)*x[1]**o+(-0.532245102898)*x[1]
37648            arg[1,2,0,1]=(-0.44541059979)*x[0]**o+(0.593734266824)*x[0]+(-0.616647011751)*x[1]**o+(0.461140297024)*x[1]
37649            arg[1,2,1,0]=(-0.9144210459)*x[0]**o+(0.116806032197)*x[0]+(0.935610395306)*x[1]**o+(0.550884822213)*x[1]
37650            arg[1,2,1,1]=(-0.962444455944)*x[0]**o+(-0.654328013652)*x[0]+(-0.545330994236)*x[1]**o+(-0.919705456162)*x[1]
37651            arg[1,2,2,0]=(-0.724491374462)*x[0]**o+(-0.820402375498)*x[0]+(-0.953956431336)*x[1]**o+(-0.201450523182)*x[1]
37652            arg[1,2,2,1]=(0.723637497881)*x[0]**o+(-0.144483238523)*x[0]+(0.00379745988102)*x[1]**o+(-0.838616087543)*x[1]
37653            arg[1,3,0,0]=(-0.962256046042)*x[0]**o+(-0.453580322779)*x[0]+(0.887446007424)*x[1]**o+(-0.404454768131)*x[1]
37654            arg[1,3,0,1]=(0.829189872775)*x[0]**o+(0.327985850399)*x[0]+(0.113600094307)*x[1]**o+(-0.338775377551)*x[1]
37655            arg[1,3,1,0]=(0.912320027833)*x[0]**o+(0.0658152563951)*x[0]+(-0.843491517568)*x[1]**o+(0.858344434434)*x[1]
37656            arg[1,3,1,1]=(-0.133918678317)*x[0]**o+(0.644272729149)*x[0]+(0.140663927965)*x[1]**o+(0.853385355163)*x[1]
37657            arg[1,3,2,0]=(0.37733357322)*x[0]**o+(0.255105934063)*x[0]+(0.88881892183)*x[1]**o+(-0.722661948279)*x[1]
37658            arg[1,3,2,1]=(-0.2827466345)*x[0]**o+(-0.518815029512)*x[0]+(-0.995043824929)*x[1]**o+(0.973473354481)*x[1]
37659            arg[1,4,0,0]=(0.044904732821)*x[0]**o+(-0.0373604593083)*x[0]+(0.184254626748)*x[1]**o+(0.031832590233)*x[1]
37660            arg[1,4,0,1]=(0.388699053911)*x[0]**o+(-0.0619606394414)*x[0]+(0.477947819745)*x[1]**o+(0.982909216221)*x[1]
37661            arg[1,4,1,0]=(0.854348679973)*x[0]**o+(-0.822052612379)*x[0]+(-0.950305089968)*x[1]**o+(0.0100277256384)*x[1]
37662            arg[1,4,1,1]=(0.265075277179)*x[0]**o+(0.489846993407)*x[0]+(-0.961111499722)*x[1]**o+(-0.0457909055602)*x[1]
37663