19     gradp = _gradp && gradp;
 
   23     real vc  = 0, vc2  = 0, 
vs  = 0, vs2  = 0;   
 
   26     real vrc = 0, vrc2 = 0, vrs = 0, vrs2 = 0;   
 
   27     real vtc = 0, vtc2 = 0, vts = 0, vts2 = 0;   
 
   28     real vlc = 0, vlc2 = 0, vls = 0, vls2 = 0;   
 
   29     for (
int m = _M; 
m >= 0; --
m) {   
 
   36           v = root[2] * root[2 * 
m + 3] / root[
m + 1];
 
   38           B = - 
v * root[2 * 
m + 5] / (root[8] * root[
m + 2]) * _uq2;
 
   41           v = root[2] * root[2 * 
m + 1] / root[
m + 1];
 
   43           B = - 
v * root[2 * 
m + 3] / (root[8] * root[
m + 2]) * _uq2;
 
   48         v = 
A * vc  + 
B * vc2  +  _wc[
m] ; vc2  = vc ; vc  = 
v;
 
   51           v = 
A * vrc + 
B * vrc2 +  _wrc[
m]; vrc2 = vrc; vrc = 
v;
 
   52           v = 
A * vrs + 
B * vrs2 +  _wrs[
m]; vrs2 = vrs; vrs = 
v;
 
   53           v = 
A * vtc + 
B * vtc2 +  _wtc[
m]; vtc2 = vtc; vtc = 
v;
 
   54           v = 
A * vts + 
B * vts2 +  _wts[
m]; vts2 = vts; vts = 
v;
 
   55           v = 
A * vlc + 
B * vlc2 + 
m*_ws[
m]; vlc2 = vlc; vlc = 
v;
 
   56           v = 
A * vls + 
B * vls2 - 
m*_wc[
m]; vls2 = vls; vls = 
v;
 
   63           B = - root[15]/2 * _uq2; 
 
   67           B = - root[3]/2 * _uq2;
 
   73         vc = qs * (_wc[
m] + 
A * (
cl * vc + sl * 
vs ) + 
B * vc2);
 
   80           vrc =    - qs * (_wrc[
m] + 
A * (
cl * vrc + sl * vrs) + 
B * vrc2);
 
   81           vtc =      qs * (_wtc[
m] + 
A * (
cl * vtc + sl * vts) + 
B * vtc2);
 
   82           vlc = qs / _u * (          
A * (
cl * vlc + sl * vls) + 
B * vlc2);
 
   89       gradx = 
cl * (_u * vrc + _t * vtc) - sl * vlc;
 
   90       grady = sl * (_u * vrc + _t * vtc) + 
cl * vlc;
 
   91       gradz =           _t * vrc - _u * vtc                ;