

INPUT
constant R,r;
R=2;
r=0.5;


variable_group x, y, z;
constant pi_1_1, pi_1_2, pi_1_3, pi_1_4;
pi_1_1 = 0;
pi_1_2 = 1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
pi_1_3 = 0;
pi_1_4 = 0;
constant pi_2_1, pi_2_2, pi_2_3, pi_2_4;
pi_2_1 = 0;
pi_2_2 = 0;
pi_2_3 = 1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
pi_2_4 = 0;
function f1;
f1 = (R^2 - r^2 + x^2 + y^2 + z^2)^2 - 4*R^2*(x^2 + y^2);
function der_func;
der_func = 4*pi_1_3*pi_2_4*x^3 - 4*pi_1_4*pi_2_3*x^3 - 4*pi_1_2*pi_2_4*y^3 + 4*pi_1_4*pi_2_2*y^3 + 4*pi_1_2*pi_2_3*z^3 - 4*pi_1_3*pi_2_2*z^3 - 4*R^2*pi_1_3*pi_2_4*x + 4*R^2*pi_1_4*pi_2_3*x + 4*R^2*pi_1_2*pi_2_4*y - 4*R^2*pi_1_4*pi_2_2*y + 4*R^2*pi_1_2*pi_2_3*z - 4*R^2*pi_1_3*pi_2_2*z - 4*pi_1_3*pi_2_4*r^2*x + 4*pi_1_4*pi_2_3*r^2*x + 4*pi_1_2*pi_2_4*r^2*y - 4*pi_1_4*pi_2_2*r^2*y - 4*pi_1_2*pi_2_3*r^2*z + 4*pi_1_3*pi_2_2*r^2*z - 4*pi_1_2*pi_2_4*x^2*y + 4*pi_1_4*pi_2_2*x^2*y + 4*pi_1_3*pi_2_4*x*y^2 - 4*pi_1_4*pi_2_3*x*y^2 + 4*pi_1_2*pi_2_3*x^2*z - 4*pi_1_3*pi_2_2*x^2*z + 4*pi_1_3*pi_2_4*x*z^2 - 4*pi_1_4*pi_2_3*x*z^2 + 4*pi_1_2*pi_2_3*y^2*z - 4*pi_1_3*pi_2_2*y^2*z - 4*pi_1_2*pi_2_4*y*z^2 + 4*pi_1_4*pi_2_2*y*z^2;
END;


constant synthetic_var_patch_1, synthetic_var_patch_2, synthetic_var_patch_3;
synthetic_var_patch_1 = 7.760693968219945361472947193837256189745103215162269067353294702220663063532767879925618373695097126192431638270113561308688061494517615055559804645179525480638627771348138335677594884058411849820557689536938509946200673328256543286752609276244653037135307607864773126231890480956211491686408107761072990412772e-1+I*4.538617986839382002243184455908929541641363675163398426574811296961110170383780765070977554838238014590068690857548262046975348389519945012838768267626508180137326445243775557567401361935627802161377195136108729619468910544862310406488435157821668269187218390150350807495168344900433355041498449365204759723144e-1;
synthetic_var_patch_2 = 8.188216654901625959274708570804730944782260244364372031736123953260688119662071060561989134942317356785239950611187204188872226620249484834817772106680267702963180572398743664071861936862298293906855429828787452061441738337716791846222798300287563639990671774838547498796342118311092717732199341430524366394121e-2+I*-9.003452323519326702161276322265083457465799485258126312600991778199185024537633704387906411939322118240607893813376408974322241717805618697068305081922720371696660079005591742016890503308111168262297042084785956222225830111026911091408573474601781822840024411545697918873315847223533042316552344956329544059884e-1;
synthetic_var_patch_3 = -7.902491961345947595382239387948737163858305270529764987760912100236909920912267871929199026180689277211336271933623165590285660853615725113230375570178848288388838565906096675975453370801878419055273493936937735183049571101024833632450865783741202321255371583803035300899278114573428026071948856369054545339078e-1+I*7.069810566744872982410641826754892203861250300317946682677047045274378971616620555189063943411771103183658864144530482594706707001843440197491782718130950507695434967569584857151989681416786167315150613965230996470322013818558340286607777905315509010048875127585548643478024007811372287172618747734992654137084e-1;
function synth_var_patch;
synth_var_patch = synthetic_var_patch_1 * synth1 + synthetic_var_patch_2 * synth2 + synthetic_var_patch_3 * synth3;


TODO: add natural variable patch