

INPUT


variable_group x, y, z, u, v;
constant pi_1_1, pi_1_2, pi_1_3, pi_1_4, pi_1_5, pi_1_6;
pi_1_1 = 0;
pi_1_2 = -9.864776962198060025436353555020060855356641986284222018234045658039311662655727658129940967430478580924856345952503717246014509707982982694539460061815298943992241597940863577990578146934044064009582227746694784000603822014043294534026917986946834462055852310802996479469700016391271660507383105457676378385605e-1;
pi_1_3 = 7.508110626735458616919638384341456580491871281847522056562705590024070798443853017256015972944825407140605166173408217149908742273605333169884886961628441437033613947016403446399935175638788579810751151985135016088092604779794085717052061119285893698293683096559232180549503960692730450989874729672550471310565e-2;
pi_1_4 = 6.576957906187790055304526877780897450491492266909101525448360742234428725974580111851582445164031396539729132369588583993616924701102340787058372157900614031643467749865814351559846672009955991699454475877574206754935989369936541188358534209671496291910489936595892813106108023003517180517568744134889683862674e-2;
pi_1_5 = 7.942006316965794465521131659354700049486319305720309314954339464630908294452302865413765717327174737865255457696449764195611233599295476597813019761107385349528293380388422962834343556827333772202586639287398902280327450910029474512188280690880278347163918427886158333275356902804357234371178300243545852155798e-2;
pi_1_6 = -1.029145197660917409392219573421136775708581753501975269289553103646136012967317579393007433432234358219865354185936323832768432341103675194886162821288129034634155426713438147418550471917619525816630562533314238898994024247991437439190514925021633541994330597232290602099545205139085262288886716828106344889491e-1;
constant pi_2_1, pi_2_2, pi_2_3, pi_2_4, pi_2_5, pi_2_6;
pi_2_1 = 0;
pi_2_2 = 1.428180161525717562390921119425403679726480992541610753921147506541333356188999481193824028771004789007806472542931618352744362449495981109549344672228551767451837215918615670241306518275886885085684949244883766164478197905025373230685870715214204534549177874955931299957972508677374942890513058438988638881779e-1;
pi_2_3 = -4.071394056161151665663283825553968495214152159069635718918561758276111364193128815415631111848959293164262841589732618124068436403834022769338478926928678269083580504074907744254839599406086747530644465690561758675723338300837630593584220387258914092434599898388262169440035845767436156149299557008751789403462e-2;
pi_2_4 = 4.783998583289062626179309942993392795154889148023752680485341861388250628271220358584242013126123635895984544658484422881356606530980869815738600489687761008838167487584474840821331684716036165138054394829193337683608852214942796628612578403013954453331843282957096568834023057149203570064959987876632003866498e-1;
pi_2_5 = 5.124949966315066940932252750454816577058011161374864974464082047329223693991073957660238475942511065948977070074487916759879985334073829507296924172686388653177130706109262552555716916055908954487902733906331017342279699542566863126474142455480214266892541496944128648179635947418900653997820612816024599823768e-1;
pi_2_6 = -6.974437922046074652637463626385541602866954704157272798236738632717849635867622802158852278418709383140051045702293541332898038378858075654718861047365767069640297298349365315375504699602787056392925406273057167764044547759887611738740454174590075503048287771285222895730752995857085850472837915499569424483977e-1;
function f1, f2, f3;
f1 = x^2 - u^2 + y^2 + z^2 - 1;
f2 = v^2 + x^2 + y^2 + z^2 - 4;
f3 = -4*u*v;
function der_func;
der_func = 16*pi_1_4*pi_2_3*u^2*x - 16*pi_1_3*pi_2_4*u^2*x + 16*pi_1_2*pi_2_4*u^2*y - 16*pi_1_4*pi_2_2*u^2*y + 16*pi_1_3*pi_2_4*v^2*x - 16*pi_1_4*pi_2_3*v^2*x - 16*pi_1_2*pi_2_3*u^2*z + 16*pi_1_3*pi_2_2*u^2*z - 16*pi_1_2*pi_2_4*v^2*y + 16*pi_1_4*pi_2_2*v^2*y + 16*pi_1_2*pi_2_3*v^2*z - 16*pi_1_3*pi_2_2*v^2*z;
END;


constant synthetic_var_patch_1, synthetic_var_patch_2, synthetic_var_patch_3, synthetic_var_patch_4, synthetic_var_patch_5;
synthetic_var_patch_1 = 5.434221200617148132652701168575136273547260523050865055756184296949172777176730108128925311863233192768877454207506468567551619154819815870639757488122388486580227426649506561097166050640065803589802111194608662711096492769672799652443871429850084390289550820652812406072422630148627806774588981976699408676107e-1+I*-8.753380158252924603372186925812532613012946503521108295773101687286306904032012281924223434913140984800121827786057161879765291961982587495316398433356400988897715739361529452714502128146176472347033938432919656199300559140654865801055990226063808369676100927486346482074295775876465044054391187386479005434956e-1;
synthetic_var_patch_2 = 9.458257775385687603773485788541009768255586603996338203248963936767978842810982751448260181958783828853980459916289126468620984478924382068880018372666935082427357558922357046340691486622234729296402416945276340544922669659222536042201865107162800619110404215772155571672138124785516295273437298926122199952407e-1+I*3.946113500551805955402574704631804057895145901893869408296632616005178734689657558701991867354987524032262077155906749292537672034196607928492046479568039396672231034485315864484741407139976409164745642902012276530733375804442918806653437958130311597648442991763272383434937238460541046176408648105351867893908e-1;
synthetic_var_patch_3 = 8.635734468650985193097549287890547756362200921237700312984506269493462199625792067434777619656553345300416697666974571030427991765738520472568965647187599198329403168695586040764738268415674616519130940167549400282710184513386142541892919167885257606282248586818844457403042451571199961881972544173290268979634e-1+I*5.365759347949816960011301830404162519439146472726303856632966726397400100131045805820812815161237786931028721096005395379674677243066702348765518460883118034638789349263390930914496354652829063297658945478871910208250658615526493406721133127550023862643254954327616526580013599832858445422053452901935117050674e-1;
synthetic_var_patch_4 = 6.328094924833667934865922200651750642084129457319940242898292427762390653714149156149744875789360290420083358610495030132299575572275095459234640760165012742896587139966071249915153560012694716276727397978243278007934954399388821743344650230850390438475378580780727479025946851966775950363474163187508396273840e-1+I*-3.911653822550407688335633480525326113434044516252875397623921081009128436269925914469383582569986565139434839048641972029788495400439846429699293459349464395532052633434722640793770114618641172808511286310844418536852824353561888540606416158320694795515266087141806734209210348180468648883340558949402529433726e-1;
synthetic_var_patch_5 = -8.056749729746849615352353315893698843392331781037038588584482810524668958574270949024833911993788365811668516032858722114065992635123894567392611891133605193270669290713217496460956228188631696215269830868705396226576691182075131016035208297354060597746128825862024299324311898156972710232128891058422422127551e-1+I*-3.148907594779068218233987923192695634889026473790222219239687794202617290927712534331456525622940778139149510475488363813914052825500975764272719613557088543905092562825554761309712536224615901666343861510845061630383896584560692942735799075905834976505148772935039486198907913461325153730350530946497873636468e-1;
function synth_var_patch;
synth_var_patch = synthetic_var_patch_1 * synth1 + synthetic_var_patch_2 * synth2 + synthetic_var_patch_3 * synth3 + synthetic_var_patch_4 * synth4 + synthetic_var_patch_5 * synth5;


TODO: add natural variable patch