/beegfs/hackathon/users/eoseret/qaas_runs/170-855-3059/intel/miniqmc/build/miniqmc/src/Numerics/Spline2/MultiBsplineRef.hpp: 227 - 262
--------------------------------------------------------------------------------

227:     for (int j = 0; j < 4; j++)
228:     {
229:       const T* restrict coefs    = spline_m->coefs + (ix + i) * xs + (iy + j) * ys + iz * zs;
230:       const T* restrict coefszs  = coefs + zs;
231:       const T* restrict coefs2zs = coefs + 2 * zs;
232:       const T* restrict coefs3zs = coefs + 3 * zs;
233: 
234:       const T pre20 = d2a[i] * b[j];
235:       const T pre10 = da[i] * b[j];
236:       const T pre00 = a[i] * b[j];
237:       const T pre11 = da[i] * db[j];
238:       const T pre01 = a[i] * db[j];
239:       const T pre02 = a[i] * d2b[j];
240: 
241:       const int iSplitPoint = num_splines;
242:       for (int n = 0; n < iSplitPoint; n++)
243:       {
244:         T coefsv    = coefs[n];
245:         T coefsvzs  = coefszs[n];
246:         T coefsv2zs = coefs2zs[n];
247:         T coefsv3zs = coefs3zs[n];
248: 
249:         T sum0 = c[0] * coefsv + c[1] * coefsvzs + c[2] * coefsv2zs + c[3] * coefsv3zs;
250:         T sum1 = dc[0] * coefsv + dc[1] * coefsvzs + dc[2] * coefsv2zs + dc[3] * coefsv3zs;
251:         T sum2 = d2c[0] * coefsv + d2c[1] * coefsvzs + d2c[2] * coefsv2zs + d2c[3] * coefsv3zs;
252: 
253:         hxx[n] += pre20 * sum0;
254:         hxy[n] += pre11 * sum0;
255:         hxz[n] += pre10 * sum1;
256:         hyy[n] += pre02 * sum0;
257:         hyz[n] += pre01 * sum1;
258:         hzz[n] += pre00 * sum2;
259:         gx[n] += pre10 * sum0;
260:         gy[n] += pre01 * sum0;
261:         gz[n] += pre00 * sum1;
262:         vals[n] += pre00 * sum0;
