10    integer, 
intent(in) :: nl, nelv, ldim
 
   11    real(kind=
rp), 
intent(inout) :: e(nl**ldim, nelv)
 
   12    real(kind=
rp), 
intent(inout) :: r(nl**ldim, nelv)
 
   13    real(kind=
rp), 
intent(inout) :: s(nl*nl,2,ldim, nelv)
 
   14    real(kind=
rp), 
intent(inout) :: d(nl**ldim, nelv)
 
   18    if(.not. ldim .eq. 3) 
then 
   20          call tnsr2d_el_xsmm(e(1,ie), nl, r(1,ie), nl, s(1,2,1,ie), s(1,1,2,ie))
 
   22             r(i,ie) = d(i,ie) * e(i,ie)
 
   24          call tnsr2d_el_xsmm(e(1,ie), nl, r(1,ie), nl, s(1,1,1,ie), s(1,2,2,ie))
 
   29               s(1,2,1,ie), s(1,1,2,ie), s(1,1,3,ie))
 
   31             r(i,ie) = d(i,ie) * e(i,ie)
 
   34               s(1,1,1,ie), s(1,2,2,ie), s(1,2,3,ie))