/*
  This file was generated automatically with scripts/maple2c.py.
  Do not edit this file directly as it can be overwritten!!

  This Source Code Form is subject to the terms of the Mozilla Public
  License, v. 2.0. If a copy of the MPL was not distributed with this
  file, You can obtain one at http://mozilla.org/MPL/2.0/.

  Maple version     : Maple 2022 (X86 64 LINUX)
  Maple source      : ./maple/mgga_vxc/mgga_x_2d_prp10.mpl
  Type of functional: mgga_vxc
*/

#define maple2c_order 4
#define MAPLE2C_FLAGS (XC_FLAGS_I_HAVE_VXC | XC_FLAGS_I_HAVE_FXC | XC_FLAGS_I_HAVE_KXC | XC_FLAGS_I_HAVE_LXC)


#ifndef XC_DONT_COMPILE_VXC
GPU_DEVICE_FUNCTION static inline void
func_vxc_unpol(const xc_func_type *p, size_t ip, const double *rho, const double *sigma, const double *lapl, const double *tau, xc_mgga_out_params *out)
{
  double t2, t3, t7, t9, t11, t13, t14, t15;
  double t16, t17, t19, t20, t21, t22, t24, t25;
  double t26, t27, t31, t32, t33, tvrho0;


  t2 = rho[0] * rho[0];
  t3 = 0.1e1 / t2;
  t7 = 0.2e1 * tau[0] * t3;
  t9 = 0.1e1 / t2 / rho[0];
  t11 = sigma[0] * t9 / 0.4e1;
  t13 = 0.1e1 / M_PI;
  t14 = (lapl[0] * t3 / 0.2e1 - t7 + t11) * t13;
  t15 = -0.9999999999e0 < t14;
  t16 = my_piecewise3(t15, t14, -0.9999999999e0);
  t17 = exp(-0.1e1);
  t19 = LambertW(t16 * t17);
  t20 = t19 + 0.1e1;
  t21 = t20 / 0.2e1;
  t22 = xc_bessel_I0(t21);
  t24 = t7 - t11;
  t25 = 0.1e-9 < t24;
  t26 = my_piecewise3(t25, t24, 0.1e-9);
  t27 = sqrt(t26);
  t31 = M_SQRT2;
  t32 = (M_PI * t22 - 0.4e1 / 0.3e1 * t13 * t27) * t31;
  t33 = sqrt(rho[0]);
  tvrho0 = -t32 * t33 / 0.2e1;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 0] += tvrho0;

}

#endif


#ifndef XC_DONT_COMPILE_FXC
GPU_DEVICE_FUNCTION static inline void
func_fxc_unpol(const xc_func_type *p, size_t ip, const double *rho, const double *sigma, const double *lapl, const double *tau, xc_mgga_out_params *out)
{
  double t2, t3, t7, t9, t11, t13, t14, t15;
  double t16, t17, t19, t20, t21, t22, t24, t25;
  double t26, t27, t31, t32, t33, tvrho0;

  double t36, t37, t40, t41, t42, t44, t47, t49;
  double t50, t51, t52, t56, t58, t62, t65, tv2rho20;
  double t68, t70, t71, t75, t79, tv2rhosigma0, t82, t84;
  double t85, t86, t87, t88, t89, tv2rholapl0, t93, t94;
  double t98, t102, tv2rhotau0;


  t2 = rho[0] * rho[0];
  t3 = 0.1e1 / t2;
  t7 = 0.2e1 * tau[0] * t3;
  t9 = 0.1e1 / t2 / rho[0];
  t11 = sigma[0] * t9 / 0.4e1;
  t13 = 0.1e1 / M_PI;
  t14 = (lapl[0] * t3 / 0.2e1 - t7 + t11) * t13;
  t15 = -0.9999999999e0 < t14;
  t16 = my_piecewise3(t15, t14, -0.9999999999e0);
  t17 = exp(-0.1e1);
  t19 = LambertW(t16 * t17);
  t20 = t19 + 0.1e1;
  t21 = t20 / 0.2e1;
  t22 = xc_bessel_I0(t21);
  t24 = t7 - t11;
  t25 = 0.1e-9 < t24;
  t26 = my_piecewise3(t25, t24, 0.1e-9);
  t27 = sqrt(t26);
  t31 = M_SQRT2;
  t32 = (M_PI * t22 - 0.4e1 / 0.3e1 * t13 * t27) * t31;
  t33 = sqrt(rho[0]);
  tvrho0 = -t32 * t33 / 0.2e1;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 0] += tvrho0;

  t36 = xc_bessel_I1(t21);
  t37 = M_PI * t36;
  t40 = 0.4e1 * tau[0] * t9;
  t41 = t2 * t2;
  t42 = 0.1e1 / t41;
  t44 = 0.3e1 / 0.4e1 * sigma[0] * t42;
  t47 = my_piecewise3(t15, (-lapl[0] * t9 + t40 - t44) * t13, 0);
  t49 = 0.1e1 / t20;
  t50 = t19 * t49;
  t51 = 0.1e1 / t16;
  t52 = t50 * t51;
  t56 = t13 / t27;
  t58 = my_piecewise3(t25, -t40 + t44, 0);
  t62 = (t37 * t47 * t52 / 0.2e1 - 0.2e1 / 0.3e1 * t56 * t58) * t31;
  t65 = 0.1e1 / t33;
  tv2rho20 = -t62 * t33 / 0.2e1 - t32 * t65 / 0.4e1;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 0] += tv2rho20;

  t68 = t9 * t13;
  t70 = my_piecewise3(t15, t68 / 0.4e1, 0);
  t71 = t37 * t70;
  t75 = my_piecewise3(t25, -t9 / 0.4e1, 0);
  t79 = (t71 * t52 / 0.2e1 - 0.2e1 / 0.3e1 * t56 * t75) * t31;
  tv2rhosigma0 = -t79 * t33 / 0.2e1;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 0] += tv2rhosigma0;

  t82 = t3 * t13;
  t84 = my_piecewise3(t15, t82 / 0.2e1, 0);
  t85 = t84 * t19;
  t86 = t37 * t85;
  t87 = t49 * t51;
  t88 = t31 * t33;
  t89 = t87 * t88;
  tv2rholapl0 = -t86 * t89 / 0.4e1;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 0] += tv2rholapl0;

  t93 = my_piecewise3(t15, -0.2e1 * t82, 0);
  t94 = t37 * t93;
  t98 = my_piecewise3(t25, 0.2e1 * t3, 0);
  t102 = (t94 * t52 / 0.2e1 - 0.2e1 / 0.3e1 * t56 * t98) * t31;
  tv2rhotau0 = -t102 * t33 / 0.2e1;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 0] += tv2rhotau0;

}

#endif


#ifndef XC_DONT_COMPILE_KXC
GPU_DEVICE_FUNCTION static inline void
func_kxc_unpol(const xc_func_type *p, size_t ip, const double *rho, const double *sigma, const double *lapl, const double *tau, xc_mgga_out_params *out)
{
  double t2, t3, t7, t9, t11, t13, t14, t15;
  double t16, t17, t19, t20, t21, t22, t24, t25;
  double t26, t27, t31, t32, t33, tvrho0;

  double t36, t37, t40, t41, t42, t44, t47, t49;
  double t50, t51, t52, t56, t58, t62, t65, tv2rho20;
  double t68, t70, t71, t75, t79, tv2rhosigma0, t82, t84;
  double t85, t86, t87, t88, t89, tv2rholapl0, t93, t94;
  double t98, t102, tv2rhotau0;

  double t105, t107, t108, t109, t110, t111, t112, t113;
  double t114, t115, t116, t117, t123, t125, t127, t130;
  double t131, t134, t135, t136, t140, t141, t142, t145;
  double t150, t151, t155, t159, t165, tv3rho30, t168, t169;
  double t170, t173, t175, t176, t179, t180, t181, t184;
  double t185, t188, t195, t199, tv3rho2sigma0, t204, t205, t206;
  double t207, t208, t211, t212, t213, t216, t217, t218;
  double t220, t223, t224, t225, t226, t227, t230, t231;
  double t234, t235, tv3rho2lapl0, t239, t243, t244, t257, t261;
  double tv3rho2tau0, t266, t267, t270, t271, t273, t274, t281;
  double t284, t286, t288, tv3rhosigma20, t291, t292, t295, t296;
  double t298, t299, t300, t303, t304, t307, tv3rhosigmalapl0, t310;
  double t313, t314, t317, t320, t323, t327, tv3rhosigmatau0, t330;
  double t331, t332, t333, t336, t337, t340, tv3rholapl20, t347;
  double t350, t353, t354, t357, t361, tv3rholapltau0, t364, t365;
  double t368, t375, t379, tv3rhotau20;


  t2 = rho[0] * rho[0];
  t3 = 0.1e1 / t2;
  t7 = 0.2e1 * tau[0] * t3;
  t9 = 0.1e1 / t2 / rho[0];
  t11 = sigma[0] * t9 / 0.4e1;
  t13 = 0.1e1 / M_PI;
  t14 = (lapl[0] * t3 / 0.2e1 - t7 + t11) * t13;
  t15 = -0.9999999999e0 < t14;
  t16 = my_piecewise3(t15, t14, -0.9999999999e0);
  t17 = exp(-0.1e1);
  t19 = LambertW(t16 * t17);
  t20 = t19 + 0.1e1;
  t21 = t20 / 0.2e1;
  t22 = xc_bessel_I0(t21);
  t24 = t7 - t11;
  t25 = 0.1e-9 < t24;
  t26 = my_piecewise3(t25, t24, 0.1e-9);
  t27 = sqrt(t26);
  t31 = M_SQRT2;
  t32 = (M_PI * t22 - 0.4e1 / 0.3e1 * t13 * t27) * t31;
  t33 = sqrt(rho[0]);
  tvrho0 = -t32 * t33 / 0.2e1;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 0] += tvrho0;

  t36 = xc_bessel_I1(t21);
  t37 = M_PI * t36;
  t40 = 0.4e1 * tau[0] * t9;
  t41 = t2 * t2;
  t42 = 0.1e1 / t41;
  t44 = 0.3e1 / 0.4e1 * sigma[0] * t42;
  t47 = my_piecewise3(t15, (-lapl[0] * t9 + t40 - t44) * t13, 0);
  t49 = 0.1e1 / t20;
  t50 = t19 * t49;
  t51 = 0.1e1 / t16;
  t52 = t50 * t51;
  t56 = t13 / t27;
  t58 = my_piecewise3(t25, -t40 + t44, 0);
  t62 = (t37 * t47 * t52 / 0.2e1 - 0.2e1 / 0.3e1 * t56 * t58) * t31;
  t65 = 0.1e1 / t33;
  tv2rho20 = -t62 * t33 / 0.2e1 - t32 * t65 / 0.4e1;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 0] += tv2rho20;

  t68 = t9 * t13;
  t70 = my_piecewise3(t15, t68 / 0.4e1, 0);
  t71 = t37 * t70;
  t75 = my_piecewise3(t25, -t9 / 0.4e1, 0);
  t79 = (t71 * t52 / 0.2e1 - 0.2e1 / 0.3e1 * t56 * t75) * t31;
  tv2rhosigma0 = -t79 * t33 / 0.2e1;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 0] += tv2rhosigma0;

  t82 = t3 * t13;
  t84 = my_piecewise3(t15, t82 / 0.2e1, 0);
  t85 = t84 * t19;
  t86 = t37 * t85;
  t87 = t49 * t51;
  t88 = t31 * t33;
  t89 = t87 * t88;
  tv2rholapl0 = -t86 * t89 / 0.4e1;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 0] += tv2rholapl0;

  t93 = my_piecewise3(t15, -0.2e1 * t82, 0);
  t94 = t37 * t93;
  t98 = my_piecewise3(t25, 0.2e1 * t3, 0);
  t102 = (t94 * t52 / 0.2e1 - 0.2e1 / 0.3e1 * t56 * t98) * t31;
  tv2rhotau0 = -t102 * t33 / 0.2e1;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 0] += tv2rhotau0;

  t105 = 0.1e1 / t21;
  t107 = -t105 * t36 + t22;
  t108 = M_PI * t107;
  t109 = t47 * t47;
  t110 = t108 * t109;
  t111 = t19 * t19;
  t112 = t20 * t20;
  t113 = 0.1e1 / t112;
  t114 = t111 * t113;
  t115 = t16 * t16;
  t116 = 0.1e1 / t115;
  t117 = t114 * t116;
  t123 = 0.12e2 * tau[0] * t42;
  t125 = 0.1e1 / t41 / rho[0];
  t127 = 0.3e1 * sigma[0] * t125;
  t130 = my_piecewise3(t15, (0.3e1 * lapl[0] * t42 - t123 + t127) * t13, 0);
  t131 = t37 * t130;
  t134 = t37 * t109;
  t135 = t19 * t113;
  t136 = t135 * t116;
  t140 = 0.1e1 / t112 / t20;
  t141 = t111 * t140;
  t142 = t141 * t116;
  t145 = t50 * t116;
  t150 = t13 / t27 / t26;
  t151 = t58 * t58;
  t155 = my_piecewise3(t25, t123 - t127, 0);
  t159 = (t110 * t117 / 0.4e1 + t131 * t52 / 0.2e1 + t134 * t136 / 0.2e1 - t134 * t142 / 0.2e1 - t134 * t145 / 0.2e1 + t150 * t151 / 0.3e1 - 0.2e1 / 0.3e1 * t56 * t155) * t31;
  t165 = 0.1e1 / t33 / rho[0];
  tv3rho30 = -t159 * t33 / 0.2e1 - t62 * t65 / 0.2e1 + t32 * t165 / 0.8e1;

  if(out->v3rho3 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho3[ip*p->dim.v3rho3 + 0] += tv3rho30;

  t168 = t108 * t47;
  t169 = t116 * t70;
  t170 = t114 * t169;
  t173 = t42 * t13;
  t175 = my_piecewise3(t15, -0.3e1 / 0.4e1 * t173, 0);
  t176 = t37 * t175;
  t179 = t47 * t19;
  t180 = t113 * t116;
  t181 = t179 * t180;
  t184 = t116 * t47;
  t185 = t141 * t184;
  t188 = t50 * t184;
  t195 = my_piecewise3(t25, 0.3e1 / 0.4e1 * t42, 0);
  t199 = (t168 * t170 / 0.4e1 + t176 * t52 / 0.2e1 + t71 * t181 / 0.2e1 - t71 * t185 / 0.2e1 - t71 * t188 / 0.2e1 + t150 * t75 * t58 / 0.3e1 - 0.2e1 / 0.3e1 * t56 * t195) * t31;
  tv3rho2sigma0 = -t199 * t33 / 0.2e1 - t79 * t65 / 0.4e1;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 0] += tv3rho2sigma0;

  t204 = t47 * t111;
  t205 = t108 * t204;
  t206 = t84 * t31;
  t207 = t206 * t33;
  t208 = t180 * t207;
  t211 = my_piecewise3(t15, -t68, 0);
  t212 = t211 * t19;
  t213 = t37 * t212;
  t216 = t84 * t47;
  t217 = t37 * t216;
  t218 = t116 * t31;
  t220 = t135 * t218 * t33;
  t223 = t84 * t111;
  t224 = t37 * t223;
  t225 = t140 * t116;
  t226 = t88 * t47;
  t227 = t225 * t226;
  t230 = t49 * t116;
  t231 = t230 * t226;
  t234 = t31 * t65;
  t235 = t87 * t234;
  tv3rho2lapl0 = -t205 * t208 / 0.8e1 - t213 * t89 / 0.4e1 - t217 * t220 / 0.4e1 + t224 * t227 / 0.4e1 + t86 * t231 / 0.4e1 - t86 * t235 / 0.8e1;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 0] += tv3rho2lapl0;

  t239 = t114 * t116 * t93;
  t243 = my_piecewise3(t15, 0.4e1 * t68, 0);
  t244 = t37 * t243;
  t257 = my_piecewise3(t25, -0.4e1 * t9, 0);
  t261 = (t168 * t239 / 0.4e1 + t244 * t52 / 0.2e1 + t94 * t181 / 0.2e1 - t94 * t185 / 0.2e1 - t94 * t188 / 0.2e1 + t150 * t98 * t58 / 0.3e1 - 0.2e1 / 0.3e1 * t56 * t257) * t31;
  tv3rho2tau0 = -t261 * t33 / 0.2e1 - t102 * t65 / 0.4e1;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 0] += tv3rho2tau0;

  t266 = t70 * t70;
  t267 = t108 * t266;
  t270 = my_piecewise3(t15, 0, 0);
  t271 = t37 * t270;
  t273 = t271 * t52 / 0.2e1;
  t274 = t37 * t266;
  t281 = t75 * t75;
  t284 = my_piecewise3(t25, 0, 0);
  t286 = 0.2e1 / 0.3e1 * t56 * t284;
  t288 = (t267 * t117 / 0.4e1 + t273 + t274 * t136 / 0.2e1 - t274 * t142 / 0.2e1 - t274 * t145 / 0.2e1 + t150 * t281 / 0.3e1 - t286) * t31;
  tv3rhosigma20 = -t288 * t33 / 0.2e1;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 0] += tv3rhosigma20;

  t291 = t70 * t111;
  t292 = t108 * t291;
  t295 = t270 * t19;
  t296 = t37 * t295;
  t298 = t296 * t89 / 0.4e1;
  t299 = t84 * t70;
  t300 = t37 * t299;
  t303 = t88 * t70;
  t304 = t225 * t303;
  t307 = t230 * t303;
  tv3rhosigmalapl0 = -t292 * t208 / 0.8e1 - t298 - t300 * t220 / 0.4e1 + t224 * t304 / 0.4e1 + t86 * t307 / 0.4e1;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 0] += tv3rhosigmalapl0;

  t310 = t108 * t70;
  t313 = t70 * t19;
  t314 = t313 * t180;
  t317 = t141 * t169;
  t320 = t50 * t169;
  t323 = t98 * t75;
  t327 = (t310 * t239 / 0.4e1 + t273 + t94 * t314 / 0.2e1 - t94 * t317 / 0.2e1 - t94 * t320 / 0.2e1 + t150 * t323 / 0.3e1 - t286) * t31;
  tv3rhosigmatau0 = -t327 * t33 / 0.2e1;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 0] += tv3rhosigmatau0;

  t330 = t84 * t84;
  t331 = t330 * t111;
  t332 = t108 * t331;
  t333 = t180 * t88;
  t336 = t330 * t19;
  t337 = t37 * t336;
  t340 = t37 * t331;
  tv3rholapl20 = -t332 * t333 / 0.8e1 - t298 - t337 * t333 / 0.4e1 + t340 * t225 * t88 / 0.4e1 + t337 * t230 * t88 / 0.4e1;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 0] += tv3rholapl20;

  t347 = t108 * t84;
  t350 = t85 * t180;
  t353 = t116 * t84;
  t354 = t141 * t353;
  t357 = t50 * t353;
  t361 = (t347 * t239 / 0.4e1 + t273 + t94 * t350 / 0.2e1 - t94 * t354 / 0.2e1 - t94 * t357 / 0.2e1) * t31;
  tv3rholapltau0 = -t361 * t33 / 0.2e1;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 0] += tv3rholapltau0;

  t364 = t93 * t93;
  t365 = t108 * t364;
  t368 = t37 * t364;
  t375 = t98 * t98;
  t379 = (t365 * t117 / 0.4e1 + t273 + t368 * t136 / 0.2e1 - t368 * t142 / 0.2e1 - t368 * t145 / 0.2e1 + t150 * t375 / 0.3e1 - t286) * t31;
  tv3rhotau20 = -t379 * t33 / 0.2e1;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 0] += tv3rhotau20;

}

#endif


#ifndef XC_DONT_COMPILE_LXC
GPU_DEVICE_FUNCTION static inline void
func_lxc_unpol(const xc_func_type *p, size_t ip, const double *rho, const double *sigma, const double *lapl, const double *tau, xc_mgga_out_params *out)
{
  double t2, t3, t7, t9, t11, t13, t14, t15;
  double t16, t17, t19, t20, t21, t22, t24, t25;
  double t26, t27, t31, t32, t33, tvrho0;

  double t36, t37, t40, t41, t42, t44, t47, t49;
  double t50, t51, t52, t56, t58, t62, t65, tv2rho20;
  double t68, t70, t71, t75, t79, tv2rhosigma0, t82, t84;
  double t85, t86, t87, t88, t89, tv2rholapl0, t93, t94;
  double t98, t102, tv2rhotau0;

  double t105, t107, t108, t109, t110, t111, t112, t113;
  double t114, t115, t116, t117, t123, t125, t127, t130;
  double t131, t134, t135, t136, t140, t141, t142, t145;
  double t150, t151, t155, t159, t165, tv3rho30, t168, t169;
  double t170, t173, t175, t176, t179, t180, t181, t184;
  double t185, t188, t195, t199, tv3rho2sigma0, t204, t205, t206;
  double t207, t208, t211, t212, t213, t216, t217, t218;
  double t220, t223, t224, t225, t226, t227, t230, t231;
  double t234, t235, tv3rho2lapl0, t239, t243, t244, t257, t261;
  double tv3rho2tau0, t266, t267, t270, t271, t273, t274, t281;
  double t284, t286, t288, tv3rhosigma20, t291, t292, t295, t296;
  double t298, t299, t300, t303, t304, t307, tv3rhosigmalapl0, t310;
  double t313, t314, t317, t320, t323, t327, tv3rhosigmatau0, t330;
  double t331, t332, t333, t336, t337, t340, tv3rholapl20, t347;
  double t350, t353, t354, t357, t361, tv3rholapltau0, t364, t365;
  double t368, t375, t379, tv3rhotau20;

  double t384, t385, t386, t387, t388, t390, t391, t394;
  double t396, t397, t398, t401, t402, t405, t406, t410;
  double t414, t416, t419, t422, t430, t432, t435, t440;
  double t448, t452, t456, t461, t466, t470, t471, t474;
  double tv4rho40, t487, t488, t489, t492, t493, t494, t497;
  double t498, t501, t502, t505, t509, t518, t521, t522;
  double t525, t526, t529, t536, t540, t543, t546, t547;
  double t552, t555, t558, t562, tv4rho3sigma0, t572, t587, t588;
  double t592, t596, t597, t598, t599, t603, t606, t610;
  double t614, t621, t623, t626, t629, t634, t637, t639;
  double t640, t641, t653, t654, t663, t670, tv4rho3lapl0, t671;
  double t672, t675, t692, t695, t700, t708, t716, t717;
  double t728, tv4rho3tau0, t737, t738, t741, t745, t746, t749;
  double t760, t764, t767, t771, t772, t773, t775, t776;
  double t778, t781, t785, t787, t790, t791, t794, tv4rho2sigma20;
  double t802, t805, t816, t821, t822, t825, t832, t849;
  double t852, t856, t862, t863, t865, t876, t878, t879;
  double t881, t892, t901, tv4rho2sigmalapl0, t905, t906, t910, t913;
  double t914, t918, t919, t925, t931, t936, t947, t966;
  double tv4rho2sigmatau0, t973, t976, t977, t981, t992, t993, t998;
  double t1024, tv4rho2lapl20, t1025, t1029, t1048, t1064, t1073, tv4rho2lapltau0;
  double t1097, t1116, tv4rho2tau20, t1131, t1139, t1140, t1141, t1146;
  double t1151, t1153, t1157, t1164, t1168, tv4rhosigma30, t1172, t1175;
  double t1178, t1179, t1187, t1193, t1209, t1211, t1213, t1217;
  double t1220, t1223, tv4rhosigma2lapl0, t1226, t1236, t1240, t1252, t1263;
  double t1264, t1266, t1267, t1269, t1270, t1272, t1273, t1274;
  double tv4rhosigma2tau0, t1279, t1282, t1304, tv4rhosigmalapl20, t1323, t1326, t1329;
  double t1333, t1341, t1342, t1343, t1347, t1348, t1349, t1350;
  double t1351, t1352, t1353, t1354, t1355, t1356, tv4rhosigmalapltau0, t1378;
  double t1379, t1390, tv4rhosigmatau20, t1395, t1396, t1401, t1402, t1403;
  double t1407, t1410, t1413, t1424, t1432, tv4rholapl30, t1442, t1450;
  double t1471, tv4rholapl2tau0, t1478, t1503, tv4rholapltau20, t1507, t1508, t1511;
  double t1546, tv4rhotau30;


  t2 = rho[0] * rho[0];
  t3 = 0.1e1 / t2;
  t7 = 0.2e1 * tau[0] * t3;
  t9 = 0.1e1 / t2 / rho[0];
  t11 = sigma[0] * t9 / 0.4e1;
  t13 = 0.1e1 / M_PI;
  t14 = (lapl[0] * t3 / 0.2e1 - t7 + t11) * t13;
  t15 = -0.9999999999e0 < t14;
  t16 = my_piecewise3(t15, t14, -0.9999999999e0);
  t17 = exp(-0.1e1);
  t19 = LambertW(t16 * t17);
  t20 = t19 + 0.1e1;
  t21 = t20 / 0.2e1;
  t22 = xc_bessel_I0(t21);
  t24 = t7 - t11;
  t25 = 0.1e-9 < t24;
  t26 = my_piecewise3(t25, t24, 0.1e-9);
  t27 = sqrt(t26);
  t31 = M_SQRT2;
  t32 = (M_PI * t22 - 0.4e1 / 0.3e1 * t13 * t27) * t31;
  t33 = sqrt(rho[0]);
  tvrho0 = -t32 * t33 / 0.2e1;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 0] += tvrho0;

  t36 = xc_bessel_I1(t21);
  t37 = M_PI * t36;
  t40 = 0.4e1 * tau[0] * t9;
  t41 = t2 * t2;
  t42 = 0.1e1 / t41;
  t44 = 0.3e1 / 0.4e1 * sigma[0] * t42;
  t47 = my_piecewise3(t15, (-lapl[0] * t9 + t40 - t44) * t13, 0);
  t49 = 0.1e1 / t20;
  t50 = t19 * t49;
  t51 = 0.1e1 / t16;
  t52 = t50 * t51;
  t56 = t13 / t27;
  t58 = my_piecewise3(t25, -t40 + t44, 0);
  t62 = (t37 * t47 * t52 / 0.2e1 - 0.2e1 / 0.3e1 * t56 * t58) * t31;
  t65 = 0.1e1 / t33;
  tv2rho20 = -t62 * t33 / 0.2e1 - t32 * t65 / 0.4e1;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 0] += tv2rho20;

  t68 = t9 * t13;
  t70 = my_piecewise3(t15, t68 / 0.4e1, 0);
  t71 = t37 * t70;
  t75 = my_piecewise3(t25, -t9 / 0.4e1, 0);
  t79 = (t71 * t52 / 0.2e1 - 0.2e1 / 0.3e1 * t56 * t75) * t31;
  tv2rhosigma0 = -t79 * t33 / 0.2e1;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 0] += tv2rhosigma0;

  t82 = t3 * t13;
  t84 = my_piecewise3(t15, t82 / 0.2e1, 0);
  t85 = t84 * t19;
  t86 = t37 * t85;
  t87 = t49 * t51;
  t88 = t31 * t33;
  t89 = t87 * t88;
  tv2rholapl0 = -t86 * t89 / 0.4e1;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 0] += tv2rholapl0;

  t93 = my_piecewise3(t15, -0.2e1 * t82, 0);
  t94 = t37 * t93;
  t98 = my_piecewise3(t25, 0.2e1 * t3, 0);
  t102 = (t94 * t52 / 0.2e1 - 0.2e1 / 0.3e1 * t56 * t98) * t31;
  tv2rhotau0 = -t102 * t33 / 0.2e1;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 0] += tv2rhotau0;

  t105 = 0.1e1 / t21;
  t107 = -t105 * t36 + t22;
  t108 = M_PI * t107;
  t109 = t47 * t47;
  t110 = t108 * t109;
  t111 = t19 * t19;
  t112 = t20 * t20;
  t113 = 0.1e1 / t112;
  t114 = t111 * t113;
  t115 = t16 * t16;
  t116 = 0.1e1 / t115;
  t117 = t114 * t116;
  t123 = 0.12e2 * tau[0] * t42;
  t125 = 0.1e1 / t41 / rho[0];
  t127 = 0.3e1 * sigma[0] * t125;
  t130 = my_piecewise3(t15, (0.3e1 * lapl[0] * t42 - t123 + t127) * t13, 0);
  t131 = t37 * t130;
  t134 = t37 * t109;
  t135 = t19 * t113;
  t136 = t135 * t116;
  t140 = 0.1e1 / t112 / t20;
  t141 = t111 * t140;
  t142 = t141 * t116;
  t145 = t50 * t116;
  t150 = t13 / t27 / t26;
  t151 = t58 * t58;
  t155 = my_piecewise3(t25, t123 - t127, 0);
  t159 = (t110 * t117 / 0.4e1 + t131 * t52 / 0.2e1 + t134 * t136 / 0.2e1 - t134 * t142 / 0.2e1 - t134 * t145 / 0.2e1 + t150 * t151 / 0.3e1 - 0.2e1 / 0.3e1 * t56 * t155) * t31;
  t165 = 0.1e1 / t33 / rho[0];
  tv3rho30 = -t159 * t33 / 0.2e1 - t62 * t65 / 0.2e1 + t32 * t165 / 0.8e1;

  if(out->v3rho3 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho3[ip*p->dim.v3rho3 + 0] += tv3rho30;

  t168 = t108 * t47;
  t169 = t116 * t70;
  t170 = t114 * t169;
  t173 = t42 * t13;
  t175 = my_piecewise3(t15, -0.3e1 / 0.4e1 * t173, 0);
  t176 = t37 * t175;
  t179 = t47 * t19;
  t180 = t113 * t116;
  t181 = t179 * t180;
  t184 = t116 * t47;
  t185 = t141 * t184;
  t188 = t50 * t184;
  t195 = my_piecewise3(t25, 0.3e1 / 0.4e1 * t42, 0);
  t199 = (t168 * t170 / 0.4e1 + t176 * t52 / 0.2e1 + t71 * t181 / 0.2e1 - t71 * t185 / 0.2e1 - t71 * t188 / 0.2e1 + t150 * t75 * t58 / 0.3e1 - 0.2e1 / 0.3e1 * t56 * t195) * t31;
  tv3rho2sigma0 = -t199 * t33 / 0.2e1 - t79 * t65 / 0.4e1;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 0] += tv3rho2sigma0;

  t204 = t47 * t111;
  t205 = t108 * t204;
  t206 = t84 * t31;
  t207 = t206 * t33;
  t208 = t180 * t207;
  t211 = my_piecewise3(t15, -t68, 0);
  t212 = t211 * t19;
  t213 = t37 * t212;
  t216 = t84 * t47;
  t217 = t37 * t216;
  t218 = t116 * t31;
  t220 = t135 * t218 * t33;
  t223 = t84 * t111;
  t224 = t37 * t223;
  t225 = t140 * t116;
  t226 = t88 * t47;
  t227 = t225 * t226;
  t230 = t49 * t116;
  t231 = t230 * t226;
  t234 = t31 * t65;
  t235 = t87 * t234;
  tv3rho2lapl0 = -t205 * t208 / 0.8e1 - t213 * t89 / 0.4e1 - t217 * t220 / 0.4e1 + t224 * t227 / 0.4e1 + t86 * t231 / 0.4e1 - t86 * t235 / 0.8e1;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 0] += tv3rho2lapl0;

  t239 = t114 * t116 * t93;
  t243 = my_piecewise3(t15, 0.4e1 * t68, 0);
  t244 = t37 * t243;
  t257 = my_piecewise3(t25, -0.4e1 * t9, 0);
  t261 = (t168 * t239 / 0.4e1 + t244 * t52 / 0.2e1 + t94 * t181 / 0.2e1 - t94 * t185 / 0.2e1 - t94 * t188 / 0.2e1 + t150 * t98 * t58 / 0.3e1 - 0.2e1 / 0.3e1 * t56 * t257) * t31;
  tv3rho2tau0 = -t261 * t33 / 0.2e1 - t102 * t65 / 0.4e1;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 0] += tv3rho2tau0;

  t266 = t70 * t70;
  t267 = t108 * t266;
  t270 = my_piecewise3(t15, 0, 0);
  t271 = t37 * t270;
  t273 = t271 * t52 / 0.2e1;
  t274 = t37 * t266;
  t281 = t75 * t75;
  t284 = my_piecewise3(t25, 0, 0);
  t286 = 0.2e1 / 0.3e1 * t56 * t284;
  t288 = (t267 * t117 / 0.4e1 + t273 + t274 * t136 / 0.2e1 - t274 * t142 / 0.2e1 - t274 * t145 / 0.2e1 + t150 * t281 / 0.3e1 - t286) * t31;
  tv3rhosigma20 = -t288 * t33 / 0.2e1;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 0] += tv3rhosigma20;

  t291 = t70 * t111;
  t292 = t108 * t291;
  t295 = t270 * t19;
  t296 = t37 * t295;
  t298 = t296 * t89 / 0.4e1;
  t299 = t84 * t70;
  t300 = t37 * t299;
  t303 = t88 * t70;
  t304 = t225 * t303;
  t307 = t230 * t303;
  tv3rhosigmalapl0 = -t292 * t208 / 0.8e1 - t298 - t300 * t220 / 0.4e1 + t224 * t304 / 0.4e1 + t86 * t307 / 0.4e1;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 0] += tv3rhosigmalapl0;

  t310 = t108 * t70;
  t313 = t70 * t19;
  t314 = t313 * t180;
  t317 = t141 * t169;
  t320 = t50 * t169;
  t323 = t98 * t75;
  t327 = (t310 * t239 / 0.4e1 + t273 + t94 * t314 / 0.2e1 - t94 * t317 / 0.2e1 - t94 * t320 / 0.2e1 + t150 * t323 / 0.3e1 - t286) * t31;
  tv3rhosigmatau0 = -t327 * t33 / 0.2e1;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 0] += tv3rhosigmatau0;

  t330 = t84 * t84;
  t331 = t330 * t111;
  t332 = t108 * t331;
  t333 = t180 * t88;
  t336 = t330 * t19;
  t337 = t37 * t336;
  t340 = t37 * t331;
  tv3rholapl20 = -t332 * t333 / 0.8e1 - t298 - t337 * t333 / 0.4e1 + t340 * t225 * t88 / 0.4e1 + t337 * t230 * t88 / 0.4e1;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 0] += tv3rholapl20;

  t347 = t108 * t84;
  t350 = t85 * t180;
  t353 = t116 * t84;
  t354 = t141 * t353;
  t357 = t50 * t353;
  t361 = (t347 * t239 / 0.4e1 + t273 + t94 * t350 / 0.2e1 - t94 * t354 / 0.2e1 - t94 * t357 / 0.2e1) * t31;
  tv3rholapltau0 = -t361 * t33 / 0.2e1;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 0] += tv3rholapltau0;

  t364 = t93 * t93;
  t365 = t108 * t364;
  t368 = t37 * t364;
  t375 = t98 * t98;
  t379 = (t365 * t117 / 0.4e1 + t273 + t368 * t136 / 0.2e1 - t368 * t142 / 0.2e1 - t368 * t145 / 0.2e1 + t150 * t375 / 0.3e1 - t286) * t31;
  tv3rhotau20 = -t379 * t33 / 0.2e1;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 0] += tv3rhotau20;

  t384 = t109 * t47;
  t385 = t37 * t384;
  t386 = t112 * t112;
  t387 = 0.1e1 / t386;
  t388 = t111 * t387;
  t390 = 0.1e1 / t115 / t16;
  t391 = t388 * t390;
  t394 = t111 * t19;
  t396 = 0.1e1 / t386 / t20;
  t397 = t394 * t396;
  t398 = t397 * t390;
  t401 = t108 * t384;
  t402 = t141 * t390;
  t405 = t394 * t387;
  t406 = t405 * t390;
  t410 = 0.48e2 * tau[0] * t125;
  t414 = 0.15e2 * sigma[0] / t41 / t2;
  t416 = my_piecewise3(t25, -t410 + t414, 0);
  t419 = t26 * t26;
  t422 = t13 / t27 / t419;
  t430 = t21 * t21;
  t432 = 0.1e1 / t430 * t36;
  t435 = t105 * t107;
  t440 = M_PI * (t36 * t47 * t52 / 0.2e1 + t432 * t47 * t52 / 0.2e1 - t435 * t47 * t52 / 0.2e1);
  t448 = my_piecewise3(t15, (-0.12e2 * lapl[0] * t125 + t410 - t414) * t13, 0);
  t452 = t116 * t130;
  t456 = t114 * t390;
  t461 = t135 * t390;
  t466 = t50 * t390;
  t470 = t19 * t140;
  t471 = t470 * t390;
  t474 = -0.3e1 / 0.2e1 * t131 * t185 - 0.2e1 * t385 * t391 + 0.3e1 / 0.2e1 * t385 * t398 + 0.3e1 / 0.4e1 * t401 * t402 - 0.3e1 / 0.4e1 * t401 * t406 - 0.2e1 / 0.3e1 * t56 * t416 - t422 * t151 * t58 / 0.2e1 + t150 * t58 * t155 + t440 * t109 * t117 / 0.4e1 + t37 * t448 * t52 / 0.2e1 + 0.3e1 / 0.4e1 * t168 * t114 * t452 - 0.3e1 / 0.4e1 * t401 * t456 - 0.3e1 / 0.2e1 * t131 * t188 - 0.3e1 / 0.2e1 * t385 * t461 + 0.3e1 / 0.2e1 * t385 * t402 + t385 * t466 + 0.3e1 / 0.2e1 * t131 * t181 + t385 * t471 / 0.2e1;
  tv4rho40 = -t474 * t31 * t33 / 0.2e1 - 0.3e1 / 0.4e1 * t159 * t65 + 0.3e1 / 0.8e1 * t62 * t165 - 0.3e1 / 0.16e2 * t32 / t33 / t2;

  if(out->v4rho4 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho4[ip*p->dim.v4rho4 + 0] += tv4rho40;

  t487 = t109 * t19;
  t488 = t140 * t390;
  t489 = t487 * t488;
  t492 = t109 * t111;
  t493 = t387 * t390;
  t494 = t492 * t493;
  t497 = t390 * t109;
  t498 = t397 * t497;
  t501 = t390 * t70;
  t502 = t141 * t501;
  t505 = t405 * t501;
  t509 = my_piecewise3(t25, -0.3e1 * t125, 0);
  t518 = t114 * t501;
  t521 = t113 * t390;
  t522 = t487 * t521;
  t525 = -t176 * t185 + t71 * t489 / 0.2e1 - 0.2e1 * t71 * t494 + 0.3e1 / 0.2e1 * t71 * t498 + 0.3e1 / 0.4e1 * t110 * t502 - 0.3e1 / 0.4e1 * t110 * t505 - 0.2e1 / 0.3e1 * t56 * t509 + 0.2e1 / 0.3e1 * t150 * t195 * t58 + t150 * t75 * t155 / 0.3e1 - 0.3e1 / 0.4e1 * t110 * t518 - 0.3e1 / 0.2e1 * t71 * t522;
  t526 = t141 * t497;
  t529 = t50 * t497;
  t536 = my_piecewise3(t15, 0.3e1 * t125 * t13, 0);
  t540 = t440 * t47;
  t543 = t108 * t130;
  t546 = t116 * t175;
  t547 = t114 * t546;
  t552 = t130 * t19 * t180;
  t555 = t141 * t452;
  t558 = t50 * t452;
  t562 = 0.3e1 / 0.2e1 * t71 * t526 + t71 * t529 - t422 * t75 * t151 / 0.2e1 + t37 * t536 * t52 / 0.2e1 + t540 * t170 / 0.4e1 + t543 * t170 / 0.4e1 + t168 * t547 / 0.2e1 - t176 * t188 + t71 * t552 / 0.2e1 - t71 * t555 / 0.2e1 - t71 * t558 / 0.2e1 + t176 * t181;
  tv4rho3sigma0 = -(t525 + t562) * t31 * t33 / 0.2e1 - t199 * t65 / 0.2e1 + t79 * t165 / 0.8e1;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 0] += tv4rho3sigma0;

  t572 = my_piecewise3(t15, 0.3e1 * t173, 0);
  t587 = t108 * t492;
  t588 = t521 * t207;
  t592 = t180 * t206 * t65;
  t596 = t37 * t84 * t109;
  t597 = t390 * t31;
  t598 = t597 * t33;
  t599 = t135 * t598;
  t603 = t135 * t218 * t65;
  t606 = t88 * t109;
  t610 = t234 * t47;
  t614 = t49 * t390;
  t621 = -t37 * t572 * t19 * t89 / 0.4e1 - t213 * t235 / 0.4e1 + t86 * t87 * t31 * t165 / 0.16e2 - t37 * t211 * t47 * t220 / 0.2e1 + 0.3e1 / 0.8e1 * t587 * t588 - t205 * t592 / 0.8e1 + 0.3e1 / 0.4e1 * t596 * t599 - t217 * t603 / 0.4e1 - 0.3e1 / 0.4e1 * t224 * t488 * t606 + t224 * t225 * t610 / 0.4e1 - t86 * t614 * t606 / 0.2e1 + t86 * t230 * t610 / 0.4e1;
  t623 = t37 * t211 * t111;
  t626 = t470 * t598;
  t629 = t488 * t207;
  t634 = t493 * t207;
  t637 = t388 * t598;
  t639 = t84 * t394;
  t640 = t37 * t639;
  t641 = t396 * t390;
  t653 = t211 * t31 * t33;
  t654 = t180 * t653;
  t663 = t88 * t130;
  t670 = t623 * t227 / 0.2e1 - t596 * t626 / 0.4e1 - 0.3e1 / 0.8e1 * t587 * t629 + 0.3e1 / 0.8e1 * t108 * t109 * t394 * t634 + t596 * t637 - 0.3e1 / 0.4e1 * t640 * t641 * t606 - t440 * t204 * t208 / 0.8e1 - t108 * t130 * t111 * t208 / 0.8e1 - t205 * t654 / 0.4e1 + t213 * t231 / 0.2e1 - t37 * t84 * t130 * t220 / 0.4e1 + t224 * t225 * t663 / 0.4e1 + t86 * t230 * t663 / 0.4e1;
  tv4rho3lapl0 = t621 + t670;

  if(out->v4rho3lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3lapl[ip*p->dim.v4rho3lapl + 0] += tv4rho3lapl0;

  t671 = t390 * t93;
  t672 = t141 * t671;
  t675 = t405 * t671;
  t692 = my_piecewise3(t25, 0.12e2 * t42, 0);
  t695 = t114 * t671;
  t700 = 0.3e1 / 0.4e1 * t110 * t672 - 0.3e1 / 0.4e1 * t110 * t675 - 0.2e1 * t94 * t494 + 0.3e1 / 0.2e1 * t94 * t498 - t244 * t185 + t94 * t489 / 0.2e1 + 0.2e1 / 0.3e1 * t150 * t257 * t58 + t150 * t98 * t155 / 0.3e1 - 0.2e1 / 0.3e1 * t56 * t692 - 0.3e1 / 0.4e1 * t110 * t695 - 0.3e1 / 0.2e1 * t94 * t522;
  t708 = my_piecewise3(t15, -0.12e2 * t173, 0);
  t716 = t116 * t243;
  t717 = t114 * t716;
  t728 = 0.3e1 / 0.2e1 * t94 * t526 + t94 * t529 - t422 * t98 * t151 / 0.2e1 + t37 * t708 * t52 / 0.2e1 + t540 * t239 / 0.4e1 + t543 * t239 / 0.4e1 + t168 * t717 / 0.2e1 - t244 * t188 + t94 * t552 / 0.2e1 - t94 * t555 / 0.2e1 - t94 * t558 / 0.2e1 + t244 * t181;
  tv4rho3tau0 = -(t700 + t728) * t31 * t33 / 0.2e1 - t261 * t65 / 0.2e1 + t102 * t165 / 0.8e1;

  if(out->v4rho3tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3tau[ip*p->dim.v4rho3tau + 0] += tv4rho3tau0;

  t737 = t390 * t47;
  t738 = t141 * t737;
  t741 = t405 * t737;
  t745 = t271 * t185 / 0.2e1;
  t746 = t388 * t737;
  t749 = t397 * t737;
  t760 = t150 * t284 * t58 / 0.3e1;
  t764 = 0.3e1 / 0.4e1 * t267 * t738 - 0.3e1 / 0.4e1 * t267 * t741 - t745 - 0.2e1 * t274 * t746 + 0.3e1 / 0.2e1 * t274 * t749 - t422 * t281 * t58 / 0.2e1 + 0.2e1 / 0.3e1 * t150 * t75 * t195 + t760 - t286 + t273 + t440 * t266 * t117 / 0.4e1;
  t767 = t114 * t737;
  t771 = t271 * t188 / 0.2e1;
  t772 = t116 * t270;
  t773 = t114 * t772;
  t775 = t168 * t773 / 0.4e1;
  t776 = t135 * t546;
  t778 = t135 * t737;
  t781 = t141 * t546;
  t785 = t50 * t546;
  t787 = t50 * t737;
  t790 = t271 * t181 / 0.2e1;
  t791 = t179 * t488;
  t794 = t310 * t547 / 0.2e1 - 0.3e1 / 0.4e1 * t267 * t767 - t771 + t775 + t71 * t776 - 0.3e1 / 0.2e1 * t274 * t778 - t71 * t781 + 0.3e1 / 0.2e1 * t274 * t738 - t71 * t785 + t274 * t787 + t790 + t274 * t791 / 0.2e1;
  tv4rho2sigma20 = -(t764 + t794) * t31 * t33 / 0.2e1 - t288 * t65 / 0.4e1;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 0] += tv4rho2sigma20;

  t802 = t296 * t235 / 0.8e1;
  t805 = t521 * t226;
  t816 = t597 * t33 * t70 * t47;
  t821 = t390 * t84;
  t822 = t821 * t226;
  t825 = t70 * t394;
  t832 = t493 * t226;
  t849 = t37 * t270 * t47 * t220 / 0.4e1;
  t852 = t234 * t70;
  t856 = -t802 - t298 + 0.3e1 / 0.4e1 * t37 * t299 * t19 * t805 - t37 * t299 * t47 * t626 / 0.4e1 - 0.3e1 / 0.4e1 * t37 * t639 * t396 * t816 - 0.3e1 / 0.8e1 * t108 * t291 * t140 * t822 + 0.3e1 / 0.8e1 * t108 * t825 * t387 * t822 + t37 * t299 * t111 * t832 - 0.3e1 / 0.4e1 * t37 * t223 * t140 * t816 - t37 * t85 * t49 * t816 / 0.2e1 + 0.3e1 / 0.8e1 * t108 * t291 * t113 * t822 - t849 - t300 * t603 / 0.8e1 + t224 * t225 * t852 / 0.8e1;
  t862 = t270 * t111;
  t863 = t37 * t862;
  t865 = t863 * t227 / 0.4e1;
  t876 = t296 * t231 / 0.4e1;
  t878 = t270 * t31 * t33;
  t879 = t180 * t878;
  t881 = t205 * t879 / 0.8e1;
  t892 = t88 * t175;
  t901 = t86 * t230 * t852 / 0.8e1 - t292 * t592 / 0.16e2 + t865 - t440 * t291 * t208 / 0.8e1 - t108 * t175 * t111 * t208 / 0.8e1 - t292 * t654 / 0.8e1 + t876 - t881 - t37 * t211 * t70 * t220 / 0.4e1 - t37 * t84 * t175 * t220 / 0.4e1 + t623 * t304 / 0.4e1 + t224 * t225 * t892 / 0.4e1 + t213 * t307 / 0.4e1 + t86 * t230 * t892 / 0.4e1;
  tv4rho2sigmalapl0 = t856 + t901;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 0] += tv4rho2sigmalapl0;

  t905 = t93 * t47;
  t906 = t488 * t905;
  t910 = t493 * t905;
  t913 = t93 * t70;
  t914 = t37 * t913;
  t918 = t37 * t93 * t394;
  t919 = t70 * t47;
  t925 = t521 * t905;
  t931 = t37 * t93 * t111;
  t936 = t37 * t93 * t19;
  t947 = -t286 - t422 * t323 * t58 / 0.2e1 + 0.3e1 / 0.4e1 * t292 * t906 - 0.3e1 / 0.4e1 * t108 * t825 * t910 - 0.2e1 * t914 * t746 + 0.3e1 / 0.2e1 * t918 * t641 * t919 + t914 * t791 / 0.2e1 - 0.3e1 / 0.4e1 * t292 * t925 - 0.3e1 / 0.2e1 * t914 * t778 + 0.3e1 / 0.2e1 * t931 * t488 * t919 + t936 * t614 * t919 + t440 * t70 * t239 / 0.4e1 + t108 * t175 * t239 / 0.4e1 + t310 * t717 / 0.4e1;
  t966 = t244 * t314 / 0.2e1 + t94 * t776 / 0.2e1 - t244 * t317 / 0.2e1 - t94 * t781 / 0.2e1 - t244 * t320 / 0.2e1 - t94 * t785 / 0.2e1 - t745 - t771 + t775 + t790 + t760 + t150 * t257 * t75 / 0.3e1 + t150 * t98 * t195 / 0.3e1 + t273;
  tv4rho2sigmatau0 = -(t947 + t966) * t31 * t33 / 0.2e1 - t327 * t65 / 0.4e1;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 0] += tv4rho2sigmatau0;

  t973 = t488 * t226;
  t976 = t330 * t394;
  t977 = t108 * t976;
  t981 = t37 * t976;
  t992 = -0.3e1 / 0.8e1 * t332 * t973 + 0.3e1 / 0.8e1 * t977 * t832 + t340 * t832 - 0.3e1 / 0.4e1 * t981 * t641 * t226 - t849 - t37 * t330 * t47 * t626 / 0.4e1 + t865 - t298 - t440 * t331 * t333 / 0.8e1 + t876 - t802 - t881;
  t993 = t108 * t223;
  t998 = t180 * t234;
  t1024 = -t993 * t654 / 0.4e1 + 0.3e1 / 0.8e1 * t332 * t805 - t332 * t998 / 0.16e2 - t86 * t654 / 0.2e1 + 0.3e1 / 0.4e1 * t337 * t805 - t337 * t998 / 0.8e1 + t224 * t225 * t653 / 0.2e1 - 0.3e1 / 0.4e1 * t340 * t973 + t340 * t225 * t234 / 0.8e1 + t86 * t230 * t653 / 0.2e1 - t337 * t614 * t226 / 0.2e1 + t337 * t230 * t234 / 0.8e1;
  tv4rho2lapl20 = t992 + t1024;

  if(out->v4rho2lapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapl2[ip*p->dim.v4rho2lapl2 + 0] += tv4rho2lapl20;

  t1025 = t108 * t639;
  t1029 = t37 * t93 * t84;
  t1048 = -0.3e1 / 0.4e1 * t1025 * t910 - 0.2e1 * t1029 * t746 + 0.3e1 / 0.2e1 * t918 * t641 * t216 + 0.3e1 / 0.4e1 * t993 * t906 + t1029 * t791 / 0.2e1 - t745 - 0.3e1 / 0.4e1 * t993 * t925 - 0.3e1 / 0.2e1 * t1029 * t778 + 0.3e1 / 0.2e1 * t931 * t488 * t216 + t936 * t614 * t216 + t273;
  t1064 = t116 * t211;
  t1073 = -t771 + t775 + t440 * t84 * t239 / 0.4e1 + t108 * t211 * t239 / 0.4e1 + t347 * t717 / 0.4e1 + t244 * t350 / 0.2e1 + t94 * t212 * t180 / 0.2e1 - t244 * t354 / 0.2e1 - t94 * t141 * t1064 / 0.2e1 - t244 * t357 / 0.2e1 - t94 * t50 * t1064 / 0.2e1 + t790;
  tv4rho2lapltau0 = -(t1048 + t1073) * t31 * t33 / 0.2e1 - t361 * t65 / 0.4e1;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 0] += tv4rho2lapltau0;

  t1097 = t440 * t364 * t117 / 0.4e1 - t422 * t375 * t58 / 0.2e1 + 0.2e1 / 0.3e1 * t150 * t98 * t257 + 0.3e1 / 0.4e1 * t365 * t738 - 0.3e1 / 0.4e1 * t365 * t741 - 0.2e1 * t368 * t746 + 0.3e1 / 0.2e1 * t368 * t749 - t745 + t760 - t286 + t273;
  t1116 = -t771 + t775 + t108 * t93 * t717 / 0.2e1 - 0.3e1 / 0.4e1 * t365 * t767 + t94 * t135 * t716 - 0.3e1 / 0.2e1 * t368 * t778 - t94 * t141 * t716 + 0.3e1 / 0.2e1 * t368 * t738 - t94 * t50 * t716 + t368 * t787 + t790 + t368 * t791 / 0.2e1;
  tv4rho2tau20 = -(t1097 + t1116) * t31 * t33 / 0.2e1 - t379 * t65 / 0.4e1;

  if(out->v4rho2tau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2tau2[ip*p->dim.v4rho2tau2 + 0] += tv4rho2tau20;

  t1131 = M_PI * (t36 * t70 * t52 / 0.2e1 + t432 * t70 * t52 / 0.2e1 - t435 * t70 * t52 / 0.2e1);
  t1139 = t150 * t75 * t284;
  t1140 = t266 * t70;
  t1141 = t37 * t1140;
  t1146 = t108 * t1140;
  t1151 = t271 * t317;
  t1153 = t310 * t773;
  t1157 = t271 * t320;
  t1164 = t271 * t314;
  t1168 = t1131 * t266 * t117 / 0.4e1 - t422 * t281 * t75 / 0.2e1 + t1139 - 0.2e1 * t1141 * t391 + 0.3e1 / 0.2e1 * t1141 * t398 + 0.3e1 / 0.4e1 * t1146 * t402 - 0.3e1 / 0.4e1 * t1146 * t406 - 0.3e1 / 0.2e1 * t1151 - t286 + t273 + 0.3e1 / 0.4e1 * t1153 - 0.3e1 / 0.4e1 * t1146 * t456 - 0.3e1 / 0.2e1 * t1157 - 0.3e1 / 0.2e1 * t1141 * t461 + 0.3e1 / 0.2e1 * t1141 * t402 + t1141 * t466 + 0.3e1 / 0.2e1 * t1164 + t1141 * t471 / 0.2e1;
  tv4rhosigma30 = -t1168 * t31 * t33 / 0.2e1;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 0] += tv4rhosigma30;

  t1172 = t863 * t304;
  t1175 = t37 * t84 * t266;
  t1178 = t266 * t111;
  t1179 = t108 * t1178;
  t1187 = t88 * t266;
  t1193 = t37 * t270 * t70 * t220;
  t1209 = t108 * t862 * t208;
  t1211 = t292 * t879;
  t1213 = t296 * t307;
  t1217 = t37 * t84 * t270 * t220;
  t1220 = t224 * t225 * t878;
  t1223 = t86 * t230 * t878;
  tv4rhosigma2lapl0 = t1172 / 0.2e1 - t1175 * t626 / 0.4e1 - 0.3e1 / 0.8e1 * t1179 * t629 + 0.3e1 / 0.8e1 * t108 * t266 * t394 * t634 + t1175 * t637 - 0.3e1 / 0.4e1 * t640 * t641 * t1187 - t1193 / 0.2e1 + 0.3e1 / 0.8e1 * t1179 * t588 + 0.3e1 / 0.4e1 * t1175 * t599 - 0.3e1 / 0.4e1 * t224 * t488 * t1187 - t86 * t614 * t1187 / 0.2e1 - t298 - t1131 * t291 * t208 / 0.8e1 - t1209 / 0.8e1 - t1211 / 0.4e1 + t1213 / 0.2e1 - t1217 / 0.4e1 + t1220 / 0.4e1 + t1223 / 0.4e1;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 0] += tv4rhosigma2lapl0;

  t1226 = t150 * t98 * t284;
  t1236 = t390 * t266;
  t1240 = t266 * t19;
  t1252 = t1226 / 0.3e1 + 0.2e1 / 0.3e1 * t1139 + 0.3e1 / 0.4e1 * t267 * t672 - 0.3e1 / 0.4e1 * t267 * t675 - 0.2e1 * t94 * t1178 * t493 + 0.3e1 / 0.2e1 * t94 * t397 * t1236 + t94 * t1240 * t488 / 0.2e1 - t1151 - t422 * t98 * t281 / 0.2e1 - 0.3e1 / 0.4e1 * t267 * t695 - 0.3e1 / 0.2e1 * t94 * t1240 * t521;
  t1263 = t108 * t270 * t239;
  t1264 = t1263 / 0.4e1;
  t1266 = t94 * t295 * t180;
  t1267 = t1266 / 0.2e1;
  t1269 = t94 * t141 * t772;
  t1270 = t1269 / 0.2e1;
  t1272 = t94 * t50 * t772;
  t1273 = t1272 / 0.2e1;
  t1274 = 0.3e1 / 0.2e1 * t94 * t141 * t1236 + t94 * t50 * t1236 - t286 + t273 + t1153 / 0.2e1 - t1157 + t1131 * t70 * t239 / 0.4e1 + t1264 + t1267 - t1270 - t1273 + t1164;
  tv4rhosigma2tau0 = -(t1252 + t1274) * t31 * t33 / 0.2e1;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 0] += tv4rhosigma2tau0;

  t1279 = t488 * t303;
  t1282 = t493 * t303;
  t1304 = t521 * t303;
  tv4rhosigmalapl20 = -0.3e1 / 0.8e1 * t332 * t1279 + 0.3e1 / 0.8e1 * t977 * t1282 + t340 * t1282 - 0.3e1 / 0.4e1 * t981 * t641 * t303 + t1172 / 0.4e1 - t37 * t330 * t70 * t626 / 0.4e1 - t1193 / 0.4e1 - t298 - t1131 * t331 * t333 / 0.8e1 - t1209 / 0.4e1 - t1211 / 0.8e1 + t1213 / 0.4e1 - t1217 / 0.2e1 + t1220 / 0.2e1 + t1223 / 0.2e1 + 0.3e1 / 0.8e1 * t332 * t1304 + 0.3e1 / 0.4e1 * t337 * t1304 - 0.3e1 / 0.4e1 * t340 * t1279 - t337 * t614 * t303 / 0.2e1;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 0] += tv4rhosigmalapl20;

  t1323 = t388 * t501;
  t1326 = t313 * t488;
  t1329 = t1151 / 0.2e1;
  t1333 = t135 * t501;
  t1341 = 0.3e1 / 0.2e1 * t918 * t641 * t299 + 0.3e1 / 0.4e1 * t993 * t488 * t913 - 0.3e1 / 0.4e1 * t1025 * t493 * t913 - 0.2e1 * t1029 * t1323 + t1029 * t1326 / 0.2e1 - t1329 - 0.3e1 / 0.4e1 * t993 * t521 * t913 - 0.3e1 / 0.2e1 * t1029 * t1333 + 0.3e1 / 0.2e1 * t931 * t488 * t299 + t936 * t614 * t299 + t273;
  t1342 = t1153 / 0.4e1;
  t1343 = t1157 / 0.2e1;
  t1347 = t347 * t773;
  t1348 = t1347 / 0.4e1;
  t1349 = t271 * t350;
  t1350 = t1349 / 0.2e1;
  t1351 = t271 * t354;
  t1352 = t1351 / 0.2e1;
  t1353 = t271 * t357;
  t1354 = t1353 / 0.2e1;
  t1355 = t1164 / 0.2e1;
  t1356 = t1342 - t1343 + t1264 + t1267 - t1270 - t1273 + t1131 * t84 * t239 / 0.4e1 + t1348 + t1350 - t1352 - t1354 + t1355;
  tv4rhosigmalapltau0 = -(t1341 + t1356) * t31 * t33 / 0.2e1;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 0] += tv4rhosigmalapltau0;

  t1378 = -t422 * t375 * t75 / 0.2e1 + 0.2e1 / 0.3e1 * t1226 + t1131 * t364 * t117 / 0.4e1 + t1139 / 0.3e1 - 0.2e1 * t368 * t1323 + 0.3e1 / 0.2e1 * t368 * t397 * t501 + 0.3e1 / 0.4e1 * t365 * t502 - 0.3e1 / 0.4e1 * t365 * t505 - t1329 - t286 + t273;
  t1379 = t1263 / 0.2e1;
  t1390 = t1342 - t1343 + t1379 + t1266 - t1269 - t1272 - 0.3e1 / 0.4e1 * t365 * t518 - 0.3e1 / 0.2e1 * t368 * t1333 + 0.3e1 / 0.2e1 * t368 * t502 + t368 * t50 * t501 + t1355 + t368 * t1326 / 0.2e1;
  tv4rhosigmatau20 = -(t1378 + t1390) * t31 * t33 / 0.2e1;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 0] += tv4rhosigmatau20;

  t1395 = t330 * t84;
  t1396 = t1395 * t394;
  t1401 = t1395 * t111;
  t1402 = t108 * t1401;
  t1403 = t488 * t88;
  t1407 = t493 * t88;
  t1410 = t37 * t1401;
  t1413 = t37 * t1395 * t19;
  t1424 = M_PI * (t36 * t84 * t52 / 0.2e1 + t432 * t84 * t52 / 0.2e1 - t435 * t84 * t52 / 0.2e1);
  t1432 = t521 * t88;
  tv4rholapl30 = -0.3e1 / 0.4e1 * t37 * t1396 * t641 * t88 - 0.3e1 / 0.8e1 * t1402 * t1403 + 0.3e1 / 0.8e1 * t108 * t1396 * t1407 + t1410 * t1407 - t1413 * t1403 / 0.4e1 - t298 - t1424 * t331 * t333 / 0.8e1 - 0.3e1 / 0.8e1 * t1209 - 0.3e1 / 0.4e1 * t1217 + 0.3e1 / 0.4e1 * t1220 + 0.3e1 / 0.4e1 * t1223 + 0.3e1 / 0.8e1 * t1402 * t1432 + 0.3e1 / 0.4e1 * t1413 * t1432 - 0.3e1 / 0.4e1 * t1410 * t1403 - t1413 * t614 * t88 / 0.2e1;

  if(out->v4rholapl3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl3[ip*p->dim.v4rholapl3 + 0] += tv4rholapl30;

  t1442 = t108 * t330;
  t1450 = t390 * t330;
  t1471 = 0.3e1 / 0.4e1 * t1442 * t672 - 0.3e1 / 0.4e1 * t1442 * t675 - 0.2e1 * t94 * t331 * t493 + 0.3e1 / 0.2e1 * t94 * t397 * t1450 + t94 * t336 * t488 / 0.2e1 - 0.3e1 / 0.4e1 * t1442 * t695 - 0.3e1 / 0.2e1 * t94 * t336 * t521 + 0.3e1 / 0.2e1 * t94 * t141 * t1450 + t94 * t50 * t1450 + t273 + t1264 + t1267 - t1270 - t1273 + t1347 / 0.2e1 + t1349 - t1351 - t1353 + t1424 * t84 * t239 / 0.4e1;
  tv4rholapl2tau0 = -t1471 * t31 * t33 / 0.2e1;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 0] += tv4rholapl2tau0;

  t1478 = t141 * t821;
  t1503 = t1424 * t364 * t117 / 0.4e1 + 0.3e1 / 0.4e1 * t365 * t1478 - 0.3e1 / 0.4e1 * t365 * t405 * t821 - 0.2e1 * t368 * t388 * t821 + 0.3e1 / 0.2e1 * t368 * t397 * t821 - 0.3e1 / 0.4e1 * t365 * t114 * t821 + t273 - 0.3e1 / 0.2e1 * t368 * t135 * t821 + 0.3e1 / 0.2e1 * t368 * t1478 + t368 * t50 * t821 + t1379 + t1266 - t1269 - t1272 + t1348 + t1350 - t1352 - t1354 + t368 * t85 * t488 / 0.2e1;
  tv4rholapltau20 = -t1503 * t31 * t33 / 0.2e1;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 0] += tv4rholapltau20;

  t1507 = t364 * t93;
  t1508 = t108 * t1507;
  t1511 = t37 * t1507;
  t1546 = -0.3e1 / 0.4e1 * t1508 * t456 - 0.3e1 / 0.2e1 * t1511 * t461 + 0.3e1 / 0.2e1 * t1511 * t402 + t1511 * t466 - t422 * t375 * t98 / 0.2e1 + M_PI * (t36 * t93 * t52 / 0.2e1 + t432 * t93 * t52 / 0.2e1 - t435 * t93 * t52 / 0.2e1) * t364 * t117 / 0.4e1 + t1226 + 0.3e1 / 0.4e1 * t1508 * t402 - 0.3e1 / 0.4e1 * t1508 * t406 - 0.2e1 * t1511 * t391 + 0.3e1 / 0.2e1 * t1511 * t398 - t286 + t273 + 0.3e1 / 0.4e1 * t1263 + 0.3e1 / 0.2e1 * t1266 - 0.3e1 / 0.2e1 * t1269 - 0.3e1 / 0.2e1 * t1272 + t1511 * t471 / 0.2e1;
  tv4rhotau30 = -t1546 * t31 * t33 / 0.2e1;

  if(out->v4rhotau3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhotau3[ip*p->dim.v4rhotau3 + 0] += tv4rhotau30;

}

#endif


#ifndef XC_DONT_COMPILE_VXC
GPU_DEVICE_FUNCTION static inline void
func_vxc_pol(const xc_func_type *p, size_t ip, const double *rho, const double *sigma, const double *lapl, const double *tau, xc_mgga_out_params *out)
{
  double t2, t3, t6, t8, t10, t12, t13, t14;
  double t15, t16, t18, t19, t20, t21, t23, t24;
  double t25, t26, t29, t30, tvrho0, t32, t33, t36;
  double t38, t40, t42, t43, t44, t46, t47, t48;
  double t49, t51, t52, t53, t54, t57, t58, tvrho1;


  t2 = rho[0] * rho[0];
  t3 = 0.1e1 / t2;
  t6 = tau[0] * t3;
  t8 = 0.1e1 / t2 / rho[0];
  t10 = sigma[0] * t8 / 0.8e1;
  t12 = 0.1e1 / M_PI;
  t13 = (lapl[0] * t3 / 0.4e1 - t6 + t10) * t12;
  t14 = -0.9999999999e0 < t13;
  t15 = my_piecewise3(t14, t13, -0.9999999999e0);
  t16 = exp(-0.1e1);
  t18 = LambertW(t15 * t16);
  t19 = t18 + 0.1e1;
  t20 = t19 / 0.2e1;
  t21 = xc_bessel_I0(t20);
  t23 = t6 - t10;
  t24 = 0.1e-9 < t23;
  t25 = my_piecewise3(t24, t23, 0.1e-9);
  t26 = sqrt(t25);
  t29 = M_PI * t21 - 0.4e1 / 0.3e1 * t12 * t26;
  t30 = sqrt(rho[0]);
  tvrho0 = -t29 * t30;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 0] += tvrho0;

  t32 = rho[1] * rho[1];
  t33 = 0.1e1 / t32;
  t36 = tau[1] * t33;
  t38 = 0.1e1 / t32 / rho[1];
  t40 = sigma[2] * t38 / 0.8e1;
  t42 = (lapl[1] * t33 / 0.4e1 - t36 + t40) * t12;
  t43 = -0.9999999999e0 < t42;
  t44 = my_piecewise3(t43, t42, -0.9999999999e0);
  t46 = LambertW(t44 * t16);
  t47 = t46 + 0.1e1;
  t48 = t47 / 0.2e1;
  t49 = xc_bessel_I0(t48);
  t51 = t36 - t40;
  t52 = 0.1e-9 < t51;
  t53 = my_piecewise3(t52, t51, 0.1e-9);
  t54 = sqrt(t53);
  t57 = M_PI * t49 - 0.4e1 / 0.3e1 * t12 * t54;
  t58 = sqrt(rho[1]);
  tvrho1 = -t57 * t58;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 1] += tvrho1;

}

#endif


#ifndef XC_DONT_COMPILE_FXC
GPU_DEVICE_FUNCTION static inline void
func_fxc_pol(const xc_func_type *p, size_t ip, const double *rho, const double *sigma, const double *lapl, const double *tau, xc_mgga_out_params *out)
{
  double t2, t3, t6, t8, t10, t12, t13, t14;
  double t15, t16, t18, t19, t20, t21, t23, t24;
  double t25, t26, t29, t30, tvrho0, t32, t33, t36;
  double t38, t40, t42, t43, t44, t46, t47, t48;
  double t49, t51, t52, t53, t54, t57, t58, tvrho1;

  double t60, t61, t65, t66, t67, t69, t72, t74;
  double t75, t76, t77, t81, t83, t86, t88, tv2rho20;
  double tv2rho21, t91, t92, t96, t97, t98, t100, t103;
  double t105, t106, t107, t108, t112, t114, t117, t119;
  double tv2rho22, t122, t124, t125, t127, tv2rholapl0, tv2rholapl1, tv2rholapl2;
  double t130, t132, t133, t135, tv2rholapl3, t138, t140, t141;
  double t145, t148, tv2rhosigma0, tv2rhosigma1, tv2rhosigma2, tv2rhosigma3, tv2rhosigma4, t150;
  double t152, t153, t157, t160, tv2rhosigma5, t162, t163, t166;
  double t169, tv2rhotau0, tv2rhotau1, tv2rhotau2, t171, t172, t175, t178;
  double tv2rhotau3;


  t2 = rho[0] * rho[0];
  t3 = 0.1e1 / t2;
  t6 = tau[0] * t3;
  t8 = 0.1e1 / t2 / rho[0];
  t10 = sigma[0] * t8 / 0.8e1;
  t12 = 0.1e1 / M_PI;
  t13 = (lapl[0] * t3 / 0.4e1 - t6 + t10) * t12;
  t14 = -0.9999999999e0 < t13;
  t15 = my_piecewise3(t14, t13, -0.9999999999e0);
  t16 = exp(-0.1e1);
  t18 = LambertW(t15 * t16);
  t19 = t18 + 0.1e1;
  t20 = t19 / 0.2e1;
  t21 = xc_bessel_I0(t20);
  t23 = t6 - t10;
  t24 = 0.1e-9 < t23;
  t25 = my_piecewise3(t24, t23, 0.1e-9);
  t26 = sqrt(t25);
  t29 = M_PI * t21 - 0.4e1 / 0.3e1 * t12 * t26;
  t30 = sqrt(rho[0]);
  tvrho0 = -t29 * t30;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 0] += tvrho0;

  t32 = rho[1] * rho[1];
  t33 = 0.1e1 / t32;
  t36 = tau[1] * t33;
  t38 = 0.1e1 / t32 / rho[1];
  t40 = sigma[2] * t38 / 0.8e1;
  t42 = (lapl[1] * t33 / 0.4e1 - t36 + t40) * t12;
  t43 = -0.9999999999e0 < t42;
  t44 = my_piecewise3(t43, t42, -0.9999999999e0);
  t46 = LambertW(t44 * t16);
  t47 = t46 + 0.1e1;
  t48 = t47 / 0.2e1;
  t49 = xc_bessel_I0(t48);
  t51 = t36 - t40;
  t52 = 0.1e-9 < t51;
  t53 = my_piecewise3(t52, t51, 0.1e-9);
  t54 = sqrt(t53);
  t57 = M_PI * t49 - 0.4e1 / 0.3e1 * t12 * t54;
  t58 = sqrt(rho[1]);
  tvrho1 = -t57 * t58;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 1] += tvrho1;

  t60 = xc_bessel_I1(t20);
  t61 = M_PI * t60;
  t65 = 0.2e1 * tau[0] * t8;
  t66 = t2 * t2;
  t67 = 0.1e1 / t66;
  t69 = 0.3e1 / 0.8e1 * sigma[0] * t67;
  t72 = my_piecewise3(t14, (-lapl[0] * t8 / 0.2e1 + t65 - t69) * t12, 0);
  t74 = 0.1e1 / t19;
  t75 = t18 * t74;
  t76 = 0.1e1 / t15;
  t77 = t75 * t76;
  t81 = t12 / t26;
  t83 = my_piecewise3(t24, -t65 + t69, 0);
  t86 = t61 * t72 * t77 / 0.2e1 - 0.2e1 / 0.3e1 * t81 * t83;
  t88 = 0.1e1 / t30;
  tv2rho20 = -t86 * t30 - t29 * t88 / 0.2e1;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 0] += tv2rho20;

  tv2rho21 = 0.e0;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 1] += tv2rho21;

  t91 = xc_bessel_I1(t48);
  t92 = M_PI * t91;
  t96 = 0.2e1 * tau[1] * t38;
  t97 = t32 * t32;
  t98 = 0.1e1 / t97;
  t100 = 0.3e1 / 0.8e1 * sigma[2] * t98;
  t103 = my_piecewise3(t43, (-lapl[1] * t38 / 0.2e1 + t96 - t100) * t12, 0);
  t105 = 0.1e1 / t47;
  t106 = t46 * t105;
  t107 = 0.1e1 / t44;
  t108 = t106 * t107;
  t112 = t12 / t54;
  t114 = my_piecewise3(t52, -t96 + t100, 0);
  t117 = t92 * t103 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t114;
  t119 = 0.1e1 / t58;
  tv2rho22 = -t117 * t58 - t57 * t119 / 0.2e1;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 2] += tv2rho22;

  t122 = t3 * t12;
  t124 = my_piecewise3(t14, t122 / 0.4e1, 0);
  t125 = t61 * t124;
  t127 = t75 * t76 * t30;
  tv2rholapl0 = -t125 * t127 / 0.2e1;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 0] += tv2rholapl0;

  tv2rholapl1 = 0.e0;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 1] += tv2rholapl1;

  tv2rholapl2 = 0.e0;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 2] += tv2rholapl2;

  t130 = t33 * t12;
  t132 = my_piecewise3(t43, t130 / 0.4e1, 0);
  t133 = t92 * t132;
  t135 = t106 * t107 * t58;
  tv2rholapl3 = -t133 * t135 / 0.2e1;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 3] += tv2rholapl3;

  t138 = t8 * t12;
  t140 = my_piecewise3(t14, t138 / 0.8e1, 0);
  t141 = t61 * t140;
  t145 = my_piecewise3(t24, -t8 / 0.8e1, 0);
  t148 = t141 * t77 / 0.2e1 - 0.2e1 / 0.3e1 * t81 * t145;
  tv2rhosigma0 = -t148 * t30;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 0] += tv2rhosigma0;

  tv2rhosigma1 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 1] += tv2rhosigma1;

  tv2rhosigma2 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 2] += tv2rhosigma2;

  tv2rhosigma3 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 3] += tv2rhosigma3;

  tv2rhosigma4 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 4] += tv2rhosigma4;

  t150 = t38 * t12;
  t152 = my_piecewise3(t43, t150 / 0.8e1, 0);
  t153 = t92 * t152;
  t157 = my_piecewise3(t52, -t38 / 0.8e1, 0);
  t160 = t153 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t157;
  tv2rhosigma5 = -t160 * t58;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 5] += tv2rhosigma5;

  t162 = my_piecewise3(t14, -t122, 0);
  t163 = t61 * t162;
  t166 = my_piecewise3(t24, t3, 0);
  t169 = t163 * t77 / 0.2e1 - 0.2e1 / 0.3e1 * t81 * t166;
  tv2rhotau0 = -t169 * t30;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 0] += tv2rhotau0;

  tv2rhotau1 = 0.e0;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 1] += tv2rhotau1;

  tv2rhotau2 = 0.e0;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 2] += tv2rhotau2;

  t171 = my_piecewise3(t43, -t130, 0);
  t172 = t92 * t171;
  t175 = my_piecewise3(t52, t33, 0);
  t178 = t172 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t175;
  tv2rhotau3 = -t178 * t58;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 3] += tv2rhotau3;

}

#endif


#ifndef XC_DONT_COMPILE_KXC
GPU_DEVICE_FUNCTION static inline void
func_kxc_pol(const xc_func_type *p, size_t ip, const double *rho, const double *sigma, const double *lapl, const double *tau, xc_mgga_out_params *out)
{
  double t2, t3, t6, t8, t10, t12, t13, t14;
  double t15, t16, t18, t19, t20, t21, t23, t24;
  double t25, t26, t29, t30, tvrho0, t32, t33, t36;
  double t38, t40, t42, t43, t44, t46, t47, t48;
  double t49, t51, t52, t53, t54, t57, t58, tvrho1;

  double t60, t61, t65, t66, t67, t69, t72, t74;
  double t75, t76, t77, t81, t83, t86, t88, tv2rho20;
  double tv2rho21, t91, t92, t96, t97, t98, t100, t103;
  double t105, t106, t107, t108, t112, t114, t117, t119;
  double tv2rho22, t122, t124, t125, t127, tv2rholapl0, tv2rholapl1, tv2rholapl2;
  double t130, t132, t133, t135, tv2rholapl3, t138, t140, t141;
  double t145, t148, tv2rhosigma0, tv2rhosigma1, tv2rhosigma2, tv2rhosigma3, tv2rhosigma4, t150;
  double t152, t153, t157, t160, tv2rhosigma5, t162, t163, t166;
  double t169, tv2rhotau0, tv2rhotau1, tv2rhotau2, t171, t172, t175, t178;
  double tv2rhotau3;

  double t180, t182, t183, t184, t185, t186, t187, t188;
  double t189, t190, t191, t192, t193, t197, t198, t201;
  double t202, t203, t204, t205, t208, t209, t211, t212;
  double t213, t214, t217, t218, t219, t220, t224, tv3rho2lapl0;
  double tv3rho2lapl1, tv3rho2lapl2, tv3rho2lapl3, tv3rho2lapl4, t227, t229, t230, t231;
  double t232, t233, t234, t235, t236, t237, t238, t239;
  double t240, t244, t245, t248, t249, t250, t251, t252;
  double t255, t256, t258, t259, t260, t261, t264, t265;
  double t266, t267, t271, tv3rho2lapl5, t274, t275, t276, t277;
  double t280, t282, t283, t286, t287, t290, t291, t292;
  double t295, t300, t305, t308, tv3rho2sigma0, tv3rho2sigma1, tv3rho2sigma2, tv3rho2sigma3;
  double tv3rho2sigma4, tv3rho2sigma5, tv3rho2sigma6, tv3rho2sigma7, t312, t313, t314, t315;
  double t318, t320, t321, t324, t325, t328, t329, t330;
  double t333, t338, t343, t346, tv3rho2sigma8, t351, t355, t356;
  double t369, t372, tv3rho2tau0, tv3rho2tau1, tv3rho2tau2, tv3rho2tau3, tv3rho2tau4, t377;
  double t381, t382, t395, t398, tv3rho2tau5, t402, t403, t404;
  double t410, t412, t414, t417, t418, t421, t422, t425;
  double t428, t431, t435, t438, t442, tv3rho30, tv3rho31, tv3rho32;
  double t445, t446, t447, t453, t455, t457, t460, t461;
  double t464, t465, t468, t471, t474, t478, t481, t485;
  double tv3rho33, t488, t489, t490, t493, t494, t496, t497;
  double tv3rholapl20, tv3rholapl21, tv3rholapl22, tv3rholapl23, tv3rholapl24, t506, t507, t508;
  double t511, t512, t514, t515, tv3rholapl25, t524, t528, t529;
  double t532, t533, t536, t539, tv3rholapltau0, tv3rholapltau1, tv3rholapltau2, tv3rholapltau3;
  double tv3rholapltau4, tv3rholapltau5, tv3rholapltau6, t541, t545, t546, t549, t550;
  double t553, t556, tv3rholapltau7, t558, t559, t562, t569, t572;
  double t574, t575, tv3rhosigma20, tv3rhosigma21, tv3rhosigma22, tv3rhosigma23, tv3rhosigma24, tv3rhosigma25;
  double tv3rhosigma26, tv3rhosigma27, tv3rhosigma28, tv3rhosigma29, tv3rhosigma210, t577, t578, t581;
  double t588, t591, t593, t594, tv3rhosigma211, t596, t597, t600;
  double t601, t604, t605, t608, tv3rhosigmalapl0, tv3rhosigmalapl1, tv3rhosigmalapl2, tv3rhosigmalapl3;
  double tv3rhosigmalapl4, tv3rhosigmalapl5, tv3rhosigmalapl6, tv3rhosigmalapl7, tv3rhosigmalapl8, tv3rhosigmalapl9, tv3rhosigmalapl10, t611;
  double t612, t615, t616, t619, t620, t623, tv3rhosigmalapl11, t626;
  double t629, t630, t633, t636, t639, t642, tv3rhosigmatau0, tv3rhosigmatau1;
  double tv3rhosigmatau2, tv3rhosigmatau3, tv3rhosigmatau4, tv3rhosigmatau5, tv3rhosigmatau6, tv3rhosigmatau7, tv3rhosigmatau8, tv3rhosigmatau9;
  double tv3rhosigmatau10, t644, t647, t648, t651, t654, t657, t660;
  double tv3rhosigmatau11, t662, t663, t666, t673, t676, tv3rhotau20, tv3rhotau21;
  double tv3rhotau22, tv3rhotau23, tv3rhotau24, t678, t679, t682, t689, t692;
  double tv3rhotau25;


  t2 = rho[0] * rho[0];
  t3 = 0.1e1 / t2;
  t6 = tau[0] * t3;
  t8 = 0.1e1 / t2 / rho[0];
  t10 = sigma[0] * t8 / 0.8e1;
  t12 = 0.1e1 / M_PI;
  t13 = (lapl[0] * t3 / 0.4e1 - t6 + t10) * t12;
  t14 = -0.9999999999e0 < t13;
  t15 = my_piecewise3(t14, t13, -0.9999999999e0);
  t16 = exp(-0.1e1);
  t18 = LambertW(t15 * t16);
  t19 = t18 + 0.1e1;
  t20 = t19 / 0.2e1;
  t21 = xc_bessel_I0(t20);
  t23 = t6 - t10;
  t24 = 0.1e-9 < t23;
  t25 = my_piecewise3(t24, t23, 0.1e-9);
  t26 = sqrt(t25);
  t29 = M_PI * t21 - 0.4e1 / 0.3e1 * t12 * t26;
  t30 = sqrt(rho[0]);
  tvrho0 = -t29 * t30;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 0] += tvrho0;

  t32 = rho[1] * rho[1];
  t33 = 0.1e1 / t32;
  t36 = tau[1] * t33;
  t38 = 0.1e1 / t32 / rho[1];
  t40 = sigma[2] * t38 / 0.8e1;
  t42 = (lapl[1] * t33 / 0.4e1 - t36 + t40) * t12;
  t43 = -0.9999999999e0 < t42;
  t44 = my_piecewise3(t43, t42, -0.9999999999e0);
  t46 = LambertW(t44 * t16);
  t47 = t46 + 0.1e1;
  t48 = t47 / 0.2e1;
  t49 = xc_bessel_I0(t48);
  t51 = t36 - t40;
  t52 = 0.1e-9 < t51;
  t53 = my_piecewise3(t52, t51, 0.1e-9);
  t54 = sqrt(t53);
  t57 = M_PI * t49 - 0.4e1 / 0.3e1 * t12 * t54;
  t58 = sqrt(rho[1]);
  tvrho1 = -t57 * t58;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 1] += tvrho1;

  t60 = xc_bessel_I1(t20);
  t61 = M_PI * t60;
  t65 = 0.2e1 * tau[0] * t8;
  t66 = t2 * t2;
  t67 = 0.1e1 / t66;
  t69 = 0.3e1 / 0.8e1 * sigma[0] * t67;
  t72 = my_piecewise3(t14, (-lapl[0] * t8 / 0.2e1 + t65 - t69) * t12, 0);
  t74 = 0.1e1 / t19;
  t75 = t18 * t74;
  t76 = 0.1e1 / t15;
  t77 = t75 * t76;
  t81 = t12 / t26;
  t83 = my_piecewise3(t24, -t65 + t69, 0);
  t86 = t61 * t72 * t77 / 0.2e1 - 0.2e1 / 0.3e1 * t81 * t83;
  t88 = 0.1e1 / t30;
  tv2rho20 = -t86 * t30 - t29 * t88 / 0.2e1;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 0] += tv2rho20;

  tv2rho21 = 0.e0;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 1] += tv2rho21;

  t91 = xc_bessel_I1(t48);
  t92 = M_PI * t91;
  t96 = 0.2e1 * tau[1] * t38;
  t97 = t32 * t32;
  t98 = 0.1e1 / t97;
  t100 = 0.3e1 / 0.8e1 * sigma[2] * t98;
  t103 = my_piecewise3(t43, (-lapl[1] * t38 / 0.2e1 + t96 - t100) * t12, 0);
  t105 = 0.1e1 / t47;
  t106 = t46 * t105;
  t107 = 0.1e1 / t44;
  t108 = t106 * t107;
  t112 = t12 / t54;
  t114 = my_piecewise3(t52, -t96 + t100, 0);
  t117 = t92 * t103 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t114;
  t119 = 0.1e1 / t58;
  tv2rho22 = -t117 * t58 - t57 * t119 / 0.2e1;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 2] += tv2rho22;

  t122 = t3 * t12;
  t124 = my_piecewise3(t14, t122 / 0.4e1, 0);
  t125 = t61 * t124;
  t127 = t75 * t76 * t30;
  tv2rholapl0 = -t125 * t127 / 0.2e1;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 0] += tv2rholapl0;

  tv2rholapl1 = 0.e0;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 1] += tv2rholapl1;

  tv2rholapl2 = 0.e0;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 2] += tv2rholapl2;

  t130 = t33 * t12;
  t132 = my_piecewise3(t43, t130 / 0.4e1, 0);
  t133 = t92 * t132;
  t135 = t106 * t107 * t58;
  tv2rholapl3 = -t133 * t135 / 0.2e1;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 3] += tv2rholapl3;

  t138 = t8 * t12;
  t140 = my_piecewise3(t14, t138 / 0.8e1, 0);
  t141 = t61 * t140;
  t145 = my_piecewise3(t24, -t8 / 0.8e1, 0);
  t148 = t141 * t77 / 0.2e1 - 0.2e1 / 0.3e1 * t81 * t145;
  tv2rhosigma0 = -t148 * t30;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 0] += tv2rhosigma0;

  tv2rhosigma1 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 1] += tv2rhosigma1;

  tv2rhosigma2 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 2] += tv2rhosigma2;

  tv2rhosigma3 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 3] += tv2rhosigma3;

  tv2rhosigma4 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 4] += tv2rhosigma4;

  t150 = t38 * t12;
  t152 = my_piecewise3(t43, t150 / 0.8e1, 0);
  t153 = t92 * t152;
  t157 = my_piecewise3(t52, -t38 / 0.8e1, 0);
  t160 = t153 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t157;
  tv2rhosigma5 = -t160 * t58;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 5] += tv2rhosigma5;

  t162 = my_piecewise3(t14, -t122, 0);
  t163 = t61 * t162;
  t166 = my_piecewise3(t24, t3, 0);
  t169 = t163 * t77 / 0.2e1 - 0.2e1 / 0.3e1 * t81 * t166;
  tv2rhotau0 = -t169 * t30;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 0] += tv2rhotau0;

  tv2rhotau1 = 0.e0;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 1] += tv2rhotau1;

  tv2rhotau2 = 0.e0;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 2] += tv2rhotau2;

  t171 = my_piecewise3(t43, -t130, 0);
  t172 = t92 * t171;
  t175 = my_piecewise3(t52, t33, 0);
  t178 = t172 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t175;
  tv2rhotau3 = -t178 * t58;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 3] += tv2rhotau3;

  t180 = 0.1e1 / t20;
  t182 = -t180 * t60 + t21;
  t183 = M_PI * t182;
  t184 = t18 * t18;
  t185 = t72 * t184;
  t186 = t183 * t185;
  t187 = t19 * t19;
  t188 = 0.1e1 / t187;
  t189 = t15 * t15;
  t190 = 0.1e1 / t189;
  t191 = t188 * t190;
  t192 = t124 * t30;
  t193 = t191 * t192;
  t197 = my_piecewise3(t14, -t138 / 0.2e1, 0);
  t198 = t61 * t197;
  t201 = t124 * t72;
  t202 = t61 * t201;
  t203 = t18 * t188;
  t204 = t190 * t30;
  t205 = t203 * t204;
  t208 = t124 * t184;
  t209 = t61 * t208;
  t211 = 0.1e1 / t187 / t19;
  t212 = t211 * t190;
  t213 = t30 * t72;
  t214 = t212 * t213;
  t217 = t124 * t18;
  t218 = t61 * t217;
  t219 = t74 * t190;
  t220 = t219 * t213;
  t224 = t75 * t76 * t88;
  tv3rho2lapl0 = -t186 * t193 / 0.4e1 - t198 * t127 / 0.2e1 - t202 * t205 / 0.2e1 + t209 * t214 / 0.2e1 + t218 * t220 / 0.2e1 - t125 * t224 / 0.4e1;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 0] += tv3rho2lapl0;

  tv3rho2lapl1 = 0.e0;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 1] += tv3rho2lapl1;

  tv3rho2lapl2 = 0.e0;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 2] += tv3rho2lapl2;

  tv3rho2lapl3 = 0.e0;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 3] += tv3rho2lapl3;

  tv3rho2lapl4 = 0.e0;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 4] += tv3rho2lapl4;

  t227 = 0.1e1 / t48;
  t229 = -t227 * t91 + t49;
  t230 = M_PI * t229;
  t231 = t46 * t46;
  t232 = t103 * t231;
  t233 = t230 * t232;
  t234 = t47 * t47;
  t235 = 0.1e1 / t234;
  t236 = t44 * t44;
  t237 = 0.1e1 / t236;
  t238 = t235 * t237;
  t239 = t132 * t58;
  t240 = t238 * t239;
  t244 = my_piecewise3(t43, -t150 / 0.2e1, 0);
  t245 = t92 * t244;
  t248 = t132 * t103;
  t249 = t92 * t248;
  t250 = t46 * t235;
  t251 = t237 * t58;
  t252 = t250 * t251;
  t255 = t132 * t231;
  t256 = t92 * t255;
  t258 = 0.1e1 / t234 / t47;
  t259 = t258 * t237;
  t260 = t58 * t103;
  t261 = t259 * t260;
  t264 = t132 * t46;
  t265 = t92 * t264;
  t266 = t105 * t237;
  t267 = t266 * t260;
  t271 = t106 * t107 * t119;
  tv3rho2lapl5 = -t233 * t240 / 0.4e1 - t245 * t135 / 0.2e1 - t249 * t252 / 0.2e1 + t256 * t261 / 0.2e1 + t265 * t267 / 0.2e1 - t133 * t271 / 0.4e1;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 5] += tv3rho2lapl5;

  t274 = t183 * t72;
  t275 = t184 * t188;
  t276 = t190 * t140;
  t277 = t275 * t276;
  t280 = t67 * t12;
  t282 = my_piecewise3(t14, -0.3e1 / 0.8e1 * t280, 0);
  t283 = t61 * t282;
  t286 = t72 * t18;
  t287 = t286 * t191;
  t290 = t184 * t211;
  t291 = t190 * t72;
  t292 = t290 * t291;
  t295 = t75 * t291;
  t300 = t12 / t26 / t25;
  t305 = my_piecewise3(t24, 0.3e1 / 0.8e1 * t67, 0);
  t308 = t274 * t277 / 0.4e1 + t283 * t77 / 0.2e1 + t141 * t287 / 0.2e1 - t141 * t292 / 0.2e1 - t141 * t295 / 0.2e1 + t300 * t145 * t83 / 0.3e1 - 0.2e1 / 0.3e1 * t81 * t305;
  tv3rho2sigma0 = -t308 * t30 - t148 * t88 / 0.2e1;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 0] += tv3rho2sigma0;

  tv3rho2sigma1 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 1] += tv3rho2sigma1;

  tv3rho2sigma2 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 2] += tv3rho2sigma2;

  tv3rho2sigma3 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 3] += tv3rho2sigma3;

  tv3rho2sigma4 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 4] += tv3rho2sigma4;

  tv3rho2sigma5 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 5] += tv3rho2sigma5;

  tv3rho2sigma6 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 6] += tv3rho2sigma6;

  tv3rho2sigma7 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 7] += tv3rho2sigma7;

  t312 = t230 * t103;
  t313 = t231 * t235;
  t314 = t237 * t152;
  t315 = t313 * t314;
  t318 = t98 * t12;
  t320 = my_piecewise3(t43, -0.3e1 / 0.8e1 * t318, 0);
  t321 = t92 * t320;
  t324 = t103 * t46;
  t325 = t324 * t238;
  t328 = t231 * t258;
  t329 = t237 * t103;
  t330 = t328 * t329;
  t333 = t106 * t329;
  t338 = t12 / t54 / t53;
  t343 = my_piecewise3(t52, 0.3e1 / 0.8e1 * t98, 0);
  t346 = t312 * t315 / 0.4e1 + t321 * t108 / 0.2e1 + t153 * t325 / 0.2e1 - t153 * t330 / 0.2e1 - t153 * t333 / 0.2e1 + t338 * t157 * t114 / 0.3e1 - 0.2e1 / 0.3e1 * t112 * t343;
  tv3rho2sigma8 = -t346 * t58 - t160 * t119 / 0.2e1;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 8] += tv3rho2sigma8;

  t351 = t275 * t190 * t162;
  t355 = my_piecewise3(t14, 0.2e1 * t138, 0);
  t356 = t61 * t355;
  t369 = my_piecewise3(t24, -0.2e1 * t8, 0);
  t372 = t274 * t351 / 0.4e1 + t356 * t77 / 0.2e1 + t163 * t287 / 0.2e1 - t163 * t292 / 0.2e1 - t163 * t295 / 0.2e1 + t300 * t166 * t83 / 0.3e1 - 0.2e1 / 0.3e1 * t81 * t369;
  tv3rho2tau0 = -t372 * t30 - t169 * t88 / 0.2e1;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 0] += tv3rho2tau0;

  tv3rho2tau1 = 0.e0;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 1] += tv3rho2tau1;

  tv3rho2tau2 = 0.e0;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 2] += tv3rho2tau2;

  tv3rho2tau3 = 0.e0;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 3] += tv3rho2tau3;

  tv3rho2tau4 = 0.e0;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 4] += tv3rho2tau4;

  t377 = t313 * t237 * t171;
  t381 = my_piecewise3(t43, 0.2e1 * t150, 0);
  t382 = t92 * t381;
  t395 = my_piecewise3(t52, -0.2e1 * t38, 0);
  t398 = t312 * t377 / 0.4e1 + t382 * t108 / 0.2e1 + t172 * t325 / 0.2e1 - t172 * t330 / 0.2e1 - t172 * t333 / 0.2e1 + t338 * t175 * t114 / 0.3e1 - 0.2e1 / 0.3e1 * t112 * t395;
  tv3rho2tau5 = -t398 * t58 - t178 * t119 / 0.2e1;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 5] += tv3rho2tau5;

  t402 = t72 * t72;
  t403 = t183 * t402;
  t404 = t275 * t190;
  t410 = 0.6e1 * tau[0] * t67;
  t412 = 0.1e1 / t66 / rho[0];
  t414 = 0.3e1 / 0.2e1 * sigma[0] * t412;
  t417 = my_piecewise3(t14, (0.3e1 / 0.2e1 * lapl[0] * t67 - t410 + t414) * t12, 0);
  t418 = t61 * t417;
  t421 = t61 * t402;
  t422 = t203 * t190;
  t425 = t290 * t190;
  t428 = t75 * t190;
  t431 = t83 * t83;
  t435 = my_piecewise3(t24, t410 - t414, 0);
  t438 = t403 * t404 / 0.4e1 + t418 * t77 / 0.2e1 + t421 * t422 / 0.2e1 - t421 * t425 / 0.2e1 - t421 * t428 / 0.2e1 + t300 * t431 / 0.3e1 - 0.2e1 / 0.3e1 * t81 * t435;
  t442 = 0.1e1 / t30 / rho[0];
  tv3rho30 = -t438 * t30 - t86 * t88 + t29 * t442 / 0.4e1;

  if(out->v3rho3 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho3[ip*p->dim.v3rho3 + 0] += tv3rho30;

  tv3rho31 = 0.e0;

  if(out->v3rho3 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho3[ip*p->dim.v3rho3 + 1] += tv3rho31;

  tv3rho32 = 0.e0;

  if(out->v3rho3 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho3[ip*p->dim.v3rho3 + 2] += tv3rho32;

  t445 = t103 * t103;
  t446 = t230 * t445;
  t447 = t313 * t237;
  t453 = 0.6e1 * tau[1] * t98;
  t455 = 0.1e1 / t97 / rho[1];
  t457 = 0.3e1 / 0.2e1 * sigma[2] * t455;
  t460 = my_piecewise3(t43, (0.3e1 / 0.2e1 * lapl[1] * t98 - t453 + t457) * t12, 0);
  t461 = t92 * t460;
  t464 = t92 * t445;
  t465 = t250 * t237;
  t468 = t328 * t237;
  t471 = t106 * t237;
  t474 = t114 * t114;
  t478 = my_piecewise3(t52, t453 - t457, 0);
  t481 = t446 * t447 / 0.4e1 + t461 * t108 / 0.2e1 + t464 * t465 / 0.2e1 - t464 * t468 / 0.2e1 - t464 * t471 / 0.2e1 + t338 * t474 / 0.3e1 - 0.2e1 / 0.3e1 * t112 * t478;
  t485 = 0.1e1 / t58 / rho[1];
  tv3rho33 = -t481 * t58 - t117 * t119 + t57 * t485 / 0.4e1;

  if(out->v3rho3 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho3[ip*p->dim.v3rho3 + 3] += tv3rho33;

  t488 = t124 * t124;
  t489 = t183 * t488;
  t490 = t275 * t204;
  t493 = my_piecewise3(t14, 0, 0);
  t494 = t61 * t493;
  t496 = t494 * t127 / 0.2e1;
  t497 = t61 * t488;
  tv3rholapl20 = -t489 * t490 / 0.4e1 - t496 - t497 * t205 / 0.2e1 + t497 * t290 * t204 / 0.2e1 + t497 * t75 * t204 / 0.2e1;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 0] += tv3rholapl20;

  tv3rholapl21 = 0.e0;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 1] += tv3rholapl21;

  tv3rholapl22 = 0.e0;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 2] += tv3rholapl22;

  tv3rholapl23 = 0.e0;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 3] += tv3rholapl23;

  tv3rholapl24 = 0.e0;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 4] += tv3rholapl24;

  t506 = t132 * t132;
  t507 = t230 * t506;
  t508 = t313 * t251;
  t511 = my_piecewise3(t43, 0, 0);
  t512 = t92 * t511;
  t514 = t512 * t135 / 0.2e1;
  t515 = t92 * t506;
  tv3rholapl25 = -t507 * t508 / 0.4e1 - t514 - t515 * t252 / 0.2e1 + t515 * t328 * t251 / 0.2e1 + t515 * t106 * t251 / 0.2e1;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 5] += tv3rholapl25;

  t524 = t183 * t124;
  t528 = t494 * t77 / 0.2e1;
  t529 = t217 * t191;
  t532 = t190 * t124;
  t533 = t290 * t532;
  t536 = t75 * t532;
  t539 = t524 * t351 / 0.4e1 + t528 + t163 * t529 / 0.2e1 - t163 * t533 / 0.2e1 - t163 * t536 / 0.2e1;
  tv3rholapltau0 = -t539 * t30;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 0] += tv3rholapltau0;

  tv3rholapltau1 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 1] += tv3rholapltau1;

  tv3rholapltau2 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 2] += tv3rholapltau2;

  tv3rholapltau3 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 3] += tv3rholapltau3;

  tv3rholapltau4 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 4] += tv3rholapltau4;

  tv3rholapltau5 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 5] += tv3rholapltau5;

  tv3rholapltau6 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 6] += tv3rholapltau6;

  t541 = t230 * t132;
  t545 = t512 * t108 / 0.2e1;
  t546 = t264 * t238;
  t549 = t237 * t132;
  t550 = t328 * t549;
  t553 = t106 * t549;
  t556 = t541 * t377 / 0.4e1 + t545 + t172 * t546 / 0.2e1 - t172 * t550 / 0.2e1 - t172 * t553 / 0.2e1;
  tv3rholapltau7 = -t556 * t58;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 7] += tv3rholapltau7;

  t558 = t140 * t140;
  t559 = t183 * t558;
  t562 = t61 * t558;
  t569 = t145 * t145;
  t572 = my_piecewise3(t24, 0, 0);
  t574 = 0.2e1 / 0.3e1 * t81 * t572;
  t575 = t559 * t404 / 0.4e1 + t528 + t562 * t422 / 0.2e1 - t562 * t425 / 0.2e1 - t562 * t428 / 0.2e1 + t300 * t569 / 0.3e1 - t574;
  tv3rhosigma20 = -t575 * t30;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 0] += tv3rhosigma20;

  tv3rhosigma21 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 1] += tv3rhosigma21;

  tv3rhosigma22 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 2] += tv3rhosigma22;

  tv3rhosigma23 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 3] += tv3rhosigma23;

  tv3rhosigma24 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 4] += tv3rhosigma24;

  tv3rhosigma25 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 5] += tv3rhosigma25;

  tv3rhosigma26 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 6] += tv3rhosigma26;

  tv3rhosigma27 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 7] += tv3rhosigma27;

  tv3rhosigma28 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 8] += tv3rhosigma28;

  tv3rhosigma29 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 9] += tv3rhosigma29;

  tv3rhosigma210 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 10] += tv3rhosigma210;

  t577 = t152 * t152;
  t578 = t230 * t577;
  t581 = t92 * t577;
  t588 = t157 * t157;
  t591 = my_piecewise3(t52, 0, 0);
  t593 = 0.2e1 / 0.3e1 * t112 * t591;
  t594 = t578 * t447 / 0.4e1 + t545 + t581 * t465 / 0.2e1 - t581 * t468 / 0.2e1 - t581 * t471 / 0.2e1 + t338 * t588 / 0.3e1 - t593;
  tv3rhosigma211 = -t594 * t58;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 11] += tv3rhosigma211;

  t596 = t140 * t184;
  t597 = t183 * t596;
  t600 = t124 * t140;
  t601 = t61 * t600;
  t604 = t30 * t140;
  t605 = t212 * t604;
  t608 = t219 * t604;
  tv3rhosigmalapl0 = -t597 * t193 / 0.4e1 - t496 - t601 * t205 / 0.2e1 + t209 * t605 / 0.2e1 + t218 * t608 / 0.2e1;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 0] += tv3rhosigmalapl0;

  tv3rhosigmalapl1 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 1] += tv3rhosigmalapl1;

  tv3rhosigmalapl2 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 2] += tv3rhosigmalapl2;

  tv3rhosigmalapl3 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 3] += tv3rhosigmalapl3;

  tv3rhosigmalapl4 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 4] += tv3rhosigmalapl4;

  tv3rhosigmalapl5 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 5] += tv3rhosigmalapl5;

  tv3rhosigmalapl6 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 6] += tv3rhosigmalapl6;

  tv3rhosigmalapl7 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 7] += tv3rhosigmalapl7;

  tv3rhosigmalapl8 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 8] += tv3rhosigmalapl8;

  tv3rhosigmalapl9 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 9] += tv3rhosigmalapl9;

  tv3rhosigmalapl10 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 10] += tv3rhosigmalapl10;

  t611 = t152 * t231;
  t612 = t230 * t611;
  t615 = t132 * t152;
  t616 = t92 * t615;
  t619 = t58 * t152;
  t620 = t259 * t619;
  t623 = t266 * t619;
  tv3rhosigmalapl11 = -t612 * t240 / 0.4e1 - t514 - t616 * t252 / 0.2e1 + t256 * t620 / 0.2e1 + t265 * t623 / 0.2e1;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 11] += tv3rhosigmalapl11;

  t626 = t183 * t140;
  t629 = t140 * t18;
  t630 = t629 * t191;
  t633 = t290 * t276;
  t636 = t75 * t276;
  t639 = t166 * t145;
  t642 = t626 * t351 / 0.4e1 + t528 + t163 * t630 / 0.2e1 - t163 * t633 / 0.2e1 - t163 * t636 / 0.2e1 + t300 * t639 / 0.3e1 - t574;
  tv3rhosigmatau0 = -t642 * t30;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 0] += tv3rhosigmatau0;

  tv3rhosigmatau1 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 1] += tv3rhosigmatau1;

  tv3rhosigmatau2 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 2] += tv3rhosigmatau2;

  tv3rhosigmatau3 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 3] += tv3rhosigmatau3;

  tv3rhosigmatau4 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 4] += tv3rhosigmatau4;

  tv3rhosigmatau5 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 5] += tv3rhosigmatau5;

  tv3rhosigmatau6 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 6] += tv3rhosigmatau6;

  tv3rhosigmatau7 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 7] += tv3rhosigmatau7;

  tv3rhosigmatau8 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 8] += tv3rhosigmatau8;

  tv3rhosigmatau9 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 9] += tv3rhosigmatau9;

  tv3rhosigmatau10 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 10] += tv3rhosigmatau10;

  t644 = t230 * t152;
  t647 = t152 * t46;
  t648 = t647 * t238;
  t651 = t328 * t314;
  t654 = t106 * t314;
  t657 = t175 * t157;
  t660 = t644 * t377 / 0.4e1 + t545 + t172 * t648 / 0.2e1 - t172 * t651 / 0.2e1 - t172 * t654 / 0.2e1 + t338 * t657 / 0.3e1 - t593;
  tv3rhosigmatau11 = -t660 * t58;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 11] += tv3rhosigmatau11;

  t662 = t162 * t162;
  t663 = t183 * t662;
  t666 = t61 * t662;
  t673 = t166 * t166;
  t676 = t663 * t404 / 0.4e1 + t528 + t666 * t422 / 0.2e1 - t666 * t425 / 0.2e1 - t666 * t428 / 0.2e1 + t300 * t673 / 0.3e1 - t574;
  tv3rhotau20 = -t676 * t30;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 0] += tv3rhotau20;

  tv3rhotau21 = 0.e0;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 1] += tv3rhotau21;

  tv3rhotau22 = 0.e0;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 2] += tv3rhotau22;

  tv3rhotau23 = 0.e0;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 3] += tv3rhotau23;

  tv3rhotau24 = 0.e0;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 4] += tv3rhotau24;

  t678 = t171 * t171;
  t679 = t230 * t678;
  t682 = t92 * t678;
  t689 = t175 * t175;
  t692 = t679 * t447 / 0.4e1 + t545 + t682 * t465 / 0.2e1 - t682 * t468 / 0.2e1 - t682 * t471 / 0.2e1 + t338 * t689 / 0.3e1 - t593;
  tv3rhotau25 = -t692 * t58;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 5] += tv3rhotau25;

}

#endif


#ifndef XC_DONT_COMPILE_LXC
GPU_DEVICE_FUNCTION static inline void
func_lxc_pol(const xc_func_type *p, size_t ip, const double *rho, const double *sigma, const double *lapl, const double *tau, xc_mgga_out_params *out)
{
  double t2, t3, t6, t8, t10, t12, t13, t14;
  double t15, t16, t18, t19, t20, t21, t23, t24;
  double t25, t26, t29, t30, tvrho0, t32, t33, t36;
  double t38, t40, t42, t43, t44, t46, t47, t48;
  double t49, t51, t52, t53, t54, t57, t58, tvrho1;

  double t60, t61, t65, t66, t67, t69, t72, t74;
  double t75, t76, t77, t81, t83, t86, t88, tv2rho20;
  double tv2rho21, t91, t92, t96, t97, t98, t100, t103;
  double t105, t106, t107, t108, t112, t114, t117, t119;
  double tv2rho22, t122, t124, t125, t127, tv2rholapl0, tv2rholapl1, tv2rholapl2;
  double t130, t132, t133, t135, tv2rholapl3, t138, t140, t141;
  double t145, t148, tv2rhosigma0, tv2rhosigma1, tv2rhosigma2, tv2rhosigma3, tv2rhosigma4, t150;
  double t152, t153, t157, t160, tv2rhosigma5, t162, t163, t166;
  double t169, tv2rhotau0, tv2rhotau1, tv2rhotau2, t171, t172, t175, t178;
  double tv2rhotau3;

  double t180, t182, t183, t184, t185, t186, t187, t188;
  double t189, t190, t191, t192, t193, t197, t198, t201;
  double t202, t203, t204, t205, t208, t209, t211, t212;
  double t213, t214, t217, t218, t219, t220, t224, tv3rho2lapl0;
  double tv3rho2lapl1, tv3rho2lapl2, tv3rho2lapl3, tv3rho2lapl4, t227, t229, t230, t231;
  double t232, t233, t234, t235, t236, t237, t238, t239;
  double t240, t244, t245, t248, t249, t250, t251, t252;
  double t255, t256, t258, t259, t260, t261, t264, t265;
  double t266, t267, t271, tv3rho2lapl5, t274, t275, t276, t277;
  double t280, t282, t283, t286, t287, t290, t291, t292;
  double t295, t300, t305, t308, tv3rho2sigma0, tv3rho2sigma1, tv3rho2sigma2, tv3rho2sigma3;
  double tv3rho2sigma4, tv3rho2sigma5, tv3rho2sigma6, tv3rho2sigma7, t312, t313, t314, t315;
  double t318, t320, t321, t324, t325, t328, t329, t330;
  double t333, t338, t343, t346, tv3rho2sigma8, t351, t355, t356;
  double t369, t372, tv3rho2tau0, tv3rho2tau1, tv3rho2tau2, tv3rho2tau3, tv3rho2tau4, t377;
  double t381, t382, t395, t398, tv3rho2tau5, t402, t403, t404;
  double t410, t412, t414, t417, t418, t421, t422, t425;
  double t428, t431, t435, t438, t442, tv3rho30, tv3rho31, tv3rho32;
  double t445, t446, t447, t453, t455, t457, t460, t461;
  double t464, t465, t468, t471, t474, t478, t481, t485;
  double tv3rho33, t488, t489, t490, t493, t494, t496, t497;
  double tv3rholapl20, tv3rholapl21, tv3rholapl22, tv3rholapl23, tv3rholapl24, t506, t507, t508;
  double t511, t512, t514, t515, tv3rholapl25, t524, t528, t529;
  double t532, t533, t536, t539, tv3rholapltau0, tv3rholapltau1, tv3rholapltau2, tv3rholapltau3;
  double tv3rholapltau4, tv3rholapltau5, tv3rholapltau6, t541, t545, t546, t549, t550;
  double t553, t556, tv3rholapltau7, t558, t559, t562, t569, t572;
  double t574, t575, tv3rhosigma20, tv3rhosigma21, tv3rhosigma22, tv3rhosigma23, tv3rhosigma24, tv3rhosigma25;
  double tv3rhosigma26, tv3rhosigma27, tv3rhosigma28, tv3rhosigma29, tv3rhosigma210, t577, t578, t581;
  double t588, t591, t593, t594, tv3rhosigma211, t596, t597, t600;
  double t601, t604, t605, t608, tv3rhosigmalapl0, tv3rhosigmalapl1, tv3rhosigmalapl2, tv3rhosigmalapl3;
  double tv3rhosigmalapl4, tv3rhosigmalapl5, tv3rhosigmalapl6, tv3rhosigmalapl7, tv3rhosigmalapl8, tv3rhosigmalapl9, tv3rhosigmalapl10, t611;
  double t612, t615, t616, t619, t620, t623, tv3rhosigmalapl11, t626;
  double t629, t630, t633, t636, t639, t642, tv3rhosigmatau0, tv3rhosigmatau1;
  double tv3rhosigmatau2, tv3rhosigmatau3, tv3rhosigmatau4, tv3rhosigmatau5, tv3rhosigmatau6, tv3rhosigmatau7, tv3rhosigmatau8, tv3rhosigmatau9;
  double tv3rhosigmatau10, t644, t647, t648, t651, t654, t657, t660;
  double tv3rhosigmatau11, t662, t663, t666, t673, t676, tv3rhotau20, tv3rhotau21;
  double tv3rhotau22, tv3rhotau23, tv3rhotau24, t678, t679, t682, t689, t692;
  double tv3rhotau25;

  double t694, t695, t697, t698, t699, t702, t703, t704;
  double t705, t706, t707, t708, t712, t714, t715, t718;
  double t720, t721, t728, t731, t732, t733, t738, t740;
  double t743, t748, t752, t753, t754, t757, t758, t761;
  double t765, t766, t767, t769, t771, t773, t775, t777;
  double t778, t781, t793, t799, tv4rho2lapl20, tv4rho2lapl21, tv4rho2lapl22, tv4rho2lapl23;
  double tv4rho2lapl24, tv4rho2lapl25, tv4rho2lapl26, tv4rho2lapl27, t800, t801, t803, t804;
  double t805, t808, t809, t810, t811, t812, t813, t814;
  double t818, t820, t821, t824, t826, t827, t834, t837;
  double t838, t839, t844, t846, t849, t854, t858, t859;
  double t860, t863, t864, t867, t871, t872, t873, t875;
  double t877, t879, t881, t883, t884, t887, t899, t905;
  double tv4rho2lapl28, t907, t911, t912, t915, t916, t917, t921;
  double t922, t923, t924, t928, t929, t938, t939, t943;
  double t944, t945, t947, t948, t951, t957, t967, t968;
  double t971, t975, t980, t983, tv4rho2lapltau0, tv4rho2lapltau1, tv4rho2lapltau2, tv4rho2lapltau3;
  double tv4rho2lapltau4, tv4rho2lapltau5, tv4rho2lapltau6, tv4rho2lapltau7, tv4rho2lapltau8, tv4rho2lapltau9, tv4rho2lapltau10, t988;
  double t989, t992, t993, t994, t998, t999, t1000, t1001;
  double t1005, t1010, t1011, t1020, t1021, t1025, t1026, t1027;
  double t1029, t1030, t1033, t1039, t1049, t1053, t1054, t1057;
  double t1061, t1065, tv4rho2lapltau11, t1072, t1073, t1076, t1079, t1080;
  double t1085, t1086, t1089, t1092, t1096, t1098, t1101, t1103;
  double t1108, t1111, t1120, t1121, tv4rho2sigma20, tv4rho2sigma21, tv4rho2sigma22, tv4rho2sigma23;
  double tv4rho2sigma24, tv4rho2sigma25, tv4rho2sigma26, tv4rho2sigma27, tv4rho2sigma28, tv4rho2sigma29, tv4rho2sigma210, tv4rho2sigma211;
  double tv4rho2sigma212, tv4rho2sigma213, tv4rho2sigma214, tv4rho2sigma215, tv4rho2sigma216, t1126, t1129, t1138;
  double t1144, t1147, t1148, t1153, t1154, t1157, t1158, t1161;
  double t1162, t1165, t1169, t1173, t1175, t1177, tv4rho2sigma217, t1200;
  double t1203, t1207, t1214, t1219, t1226, t1227, t1231, t1237;
  double t1242, t1249, t1260, tv4rho2sigmalapl0, tv4rho2sigmalapl1, tv4rho2sigmalapl2, tv4rho2sigmalapl3, tv4rho2sigmalapl4;
  double tv4rho2sigmalapl5, tv4rho2sigmalapl6, tv4rho2sigmalapl7, tv4rho2sigmalapl8, tv4rho2sigmalapl9, tv4rho2sigmalapl10, tv4rho2sigmalapl11, tv4rho2sigmalapl12;
  double tv4rho2sigmalapl13, tv4rho2sigmalapl14, tv4rho2sigmalapl15, tv4rho2sigmalapl16, t1272, t1275, t1279, t1286;
  double t1291, t1305, t1306, t1310, t1316, t1321, t1328, t1339;
  double tv4rho2sigmalapl17, t1343, t1353, t1354, t1372, t1393, tv4rho2sigmatau0, tv4rho2sigmatau1;
  double tv4rho2sigmatau2, tv4rho2sigmatau3, tv4rho2sigmatau4, tv4rho2sigmatau5, tv4rho2sigmatau6, tv4rho2sigmatau7, tv4rho2sigmatau8, tv4rho2sigmatau9;
  double tv4rho2sigmatau10, tv4rho2sigmatau11, tv4rho2sigmatau12, tv4rho2sigmatau13, tv4rho2sigmatau14, tv4rho2sigmatau15, tv4rho2sigmatau16, t1403;
  double t1404, t1407, t1432, t1451, tv4rho2sigmatau17, t1480, t1492, tv4rho2tau20;
  double tv4rho2tau21, tv4rho2tau22, tv4rho2tau23, tv4rho2tau24, tv4rho2tau25, tv4rho2tau26, tv4rho2tau27, t1519;
  double t1533, tv4rho2tau28, t1545, t1552, t1553, t1554, t1560, t1561;
  double t1566, t1570, t1576, t1580, t1585, t1588, t1608, t1618;
  double tv4rho3lapl0, tv4rho3lapl1, tv4rho3lapl2, tv4rho3lapl3, tv4rho3lapl4, tv4rho3lapl5, tv4rho3lapl6, t1620;
  double t1640, t1647, t1648, t1649, t1654, t1657, t1660, t1664;
  double t1673, t1679, t1684, t1689, t1699, tv4rho3lapl7, t1701, t1704;
  double t1705, t1708, t1709, t1712, t1713, t1716, t1718, t1719;
  double t1722, t1725, t1728, t1734, t1736, t1750, t1755, t1758;
  double t1761, t1764, t1768, t1771, tv4rho3sigma0, tv4rho3sigma1, tv4rho3sigma2, tv4rho3sigma3;
  double tv4rho3sigma4, tv4rho3sigma5, tv4rho3sigma6, tv4rho3sigma7, tv4rho3sigma8, tv4rho3sigma9, tv4rho3sigma10, t1779;
  double t1784, t1787, t1788, t1791, t1793, t1794, t1797, t1798;
  double t1802, t1805, t1806, t1809, t1812, t1815, t1818, t1832;
  double t1835, t1838, t1841, t1845, t1848, tv4rho3sigma11, t1855, t1860;
  double t1863, t1864, t1881, t1896, t1899, t1909, tv4rho3tau0, tv4rho3tau1;
  double tv4rho3tau2, tv4rho3tau3, tv4rho3tau4, tv4rho3tau5, tv4rho3tau6, t1916, t1921, t1924;
  double t1925, t1942, t1957, t1960, t1970, tv4rho3tau7, t1979, t1983;
  double t1986, t1994, t1997, t1998, t1999, t2002, t2007, t2008;
  double t2013, t2023, t2026, t2029, t2034, t2039, tv4rho40, tv4rho41;
  double tv4rho42, tv4rho43, t2055, t2059, t2062, t2067, t2070, t2071;
  double t2072, t2075, t2080, t2081, t2086, t2096, t2101, t2106;
  double t2109, t2112, tv4rho44, t2127, t2134, t2135, t2137, t2138;
  double t2147, t2152, t2153, t2154, t2156, t2158, t2159, t2160;
  double t2171, t2175, tv4rholapl2tau0, tv4rholapl2tau1, tv4rholapl2tau2, tv4rholapl2tau3, tv4rholapl2tau4, tv4rholapl2tau5;
  double tv4rholapl2tau6, tv4rholapl2tau7, tv4rholapl2tau8, tv4rholapl2tau9, tv4rholapl2tau10, t2182, t2188, t2190;
  double t2192, t2193, t2195, t2196, t2198, t2199, t2208, t2213;
  double t2214, t2215, t2226, t2230, tv4rholapl2tau11, t2232, t2234, t2235;
  double t2240, t2242, t2245, t2259, t2268, tv4rholapl30, tv4rholapl31, tv4rholapl32;
  double tv4rholapl33, tv4rholapl34, tv4rholapl35, tv4rholapl36, t2272, t2273, t2276, t2278;
  double t2283, t2287, t2299, t2308, tv4rholapl37, t2315, t2322, t2327;
  double t2328, t2329, t2330, t2345, t2346, tv4rholapltau20, tv4rholapltau21, tv4rholapltau22;
  double tv4rholapltau23, tv4rholapltau24, tv4rholapltau25, tv4rholapltau26, tv4rholapltau27, tv4rholapltau28, tv4rholapltau29, tv4rholapltau210;
  double t2351, t2360, t2363, t2364, t2365, t2369, t2381, t2382;
  double tv4rholapltau211, t2392, t2396, t2398, t2401, t2402, t2406, t2409;
  double t2426, t2432, tv4rhosigma2lapl0, tv4rhosigma2lapl1, tv4rhosigma2lapl2, tv4rhosigma2lapl3, tv4rhosigma2lapl4, tv4rhosigma2lapl5;
  double tv4rhosigma2lapl6, tv4rhosigma2lapl7, tv4rhosigma2lapl8, tv4rhosigma2lapl9, tv4rhosigma2lapl10, tv4rhosigma2lapl11, tv4rhosigma2lapl12, tv4rhosigma2lapl13;
  double tv4rhosigma2lapl14, tv4rhosigma2lapl15, tv4rhosigma2lapl16, tv4rhosigma2lapl17, tv4rhosigma2lapl18, tv4rhosigma2lapl19, tv4rhosigma2lapl20, tv4rhosigma2lapl21;
  double tv4rhosigma2lapl22, t2442, t2446, t2448, t2451, t2457, t2458, t2462;
  double t2476, t2482, tv4rhosigma2lapl23, t2487, t2489, t2491, t2494, t2498;
  double t2502, t2508, t2512, t2523, t2527, tv4rhosigma2tau0, tv4rhosigma2tau1, tv4rhosigma2tau2;
  double tv4rhosigma2tau3, tv4rhosigma2tau4, tv4rhosigma2tau5, tv4rhosigma2tau6, tv4rhosigma2tau7, tv4rhosigma2tau8, tv4rhosigma2tau9, tv4rhosigma2tau10;
  double tv4rhosigma2tau11, tv4rhosigma2tau12, tv4rhosigma2tau13, tv4rhosigma2tau14, tv4rhosigma2tau15, tv4rhosigma2tau16, tv4rhosigma2tau17, tv4rhosigma2tau18;
  double tv4rhosigma2tau19, tv4rhosigma2tau20, tv4rhosigma2tau21, tv4rhosigma2tau22, t2533, t2537, t2540, t2543;
  double t2545, t2550, t2557, t2558, t2569, t2573, tv4rhosigma2tau23, t2576;
  double t2577, t2580, t2606, tv4rhosigma30, tv4rhosigma31, tv4rhosigma32, tv4rhosigma33, tv4rhosigma34;
  double tv4rhosigma35, tv4rhosigma36, tv4rhosigma37, tv4rhosigma38, tv4rhosigma39, tv4rhosigma310, tv4rhosigma311, tv4rhosigma312;
  double tv4rhosigma313, tv4rhosigma314, tv4rhosigma315, tv4rhosigma316, tv4rhosigma317, tv4rhosigma318, t2608, t2609;
  double t2612, t2638, tv4rhosigma319, t2645, t2650, t2658, tv4rhosigmalapl20, tv4rhosigmalapl21;
  double tv4rhosigmalapl22, tv4rhosigmalapl23, tv4rhosigmalapl24, tv4rhosigmalapl25, tv4rhosigmalapl26, tv4rhosigmalapl27, tv4rhosigmalapl28, tv4rhosigmalapl29;
  double tv4rhosigmalapl210, tv4rhosigmalapl211, tv4rhosigmalapl212, tv4rhosigmalapl213, tv4rhosigmalapl214, tv4rhosigmalapl215, tv4rhosigmalapl216, t2677;
  double t2682, t2688, tv4rhosigmalapl217, t2707, t2708, t2712, t2720, t2721;
  double t2728, t2734, t2737, t2738, tv4rhosigmalapltau0, tv4rhosigmalapltau1, tv4rhosigmalapltau2, tv4rhosigmalapltau3;
  double tv4rhosigmalapltau4, tv4rhosigmalapltau5, tv4rhosigmalapltau6, tv4rhosigmalapltau7, tv4rhosigmalapltau8, tv4rhosigmalapltau9, tv4rhosigmalapltau10, tv4rhosigmalapltau11;
  double tv4rhosigmalapltau12, tv4rhosigmalapltau13, tv4rhosigmalapltau14, tv4rhosigmalapltau15, tv4rhosigmalapltau16, tv4rhosigmalapltau17, tv4rhosigmalapltau18, tv4rhosigmalapltau19;
  double tv4rhosigmalapltau20, tv4rhosigmalapltau21, tv4rhosigmalapltau22, t2744, t2745, t2751, t2757, t2758;
  double t2768, t2771, t2774, t2775, tv4rhosigmalapltau23, t2794, t2806, tv4rhosigmatau20;
  double tv4rhosigmatau21, tv4rhosigmatau22, tv4rhosigmatau23, tv4rhosigmatau24, tv4rhosigmatau25, tv4rhosigmatau26, tv4rhosigmatau27, tv4rhosigmatau28;
  double tv4rhosigmatau29, tv4rhosigmatau210, tv4rhosigmatau211, tv4rhosigmatau212, tv4rhosigmatau213, tv4rhosigmatau214, tv4rhosigmatau215, tv4rhosigmatau216;
  double t2825, t2837, tv4rhosigmatau217, t2855, t2856, t2859, t2879, tv4rhotau30;
  double tv4rhotau31, tv4rhotau32, tv4rhotau33, tv4rhotau34, tv4rhotau35, tv4rhotau36, t2896, t2897;
  double t2900, t2920, tv4rhotau37;


  t2 = rho[0] * rho[0];
  t3 = 0.1e1 / t2;
  t6 = tau[0] * t3;
  t8 = 0.1e1 / t2 / rho[0];
  t10 = sigma[0] * t8 / 0.8e1;
  t12 = 0.1e1 / M_PI;
  t13 = (lapl[0] * t3 / 0.4e1 - t6 + t10) * t12;
  t14 = -0.9999999999e0 < t13;
  t15 = my_piecewise3(t14, t13, -0.9999999999e0);
  t16 = exp(-0.1e1);
  t18 = LambertW(t15 * t16);
  t19 = t18 + 0.1e1;
  t20 = t19 / 0.2e1;
  t21 = xc_bessel_I0(t20);
  t23 = t6 - t10;
  t24 = 0.1e-9 < t23;
  t25 = my_piecewise3(t24, t23, 0.1e-9);
  t26 = sqrt(t25);
  t29 = M_PI * t21 - 0.4e1 / 0.3e1 * t12 * t26;
  t30 = sqrt(rho[0]);
  tvrho0 = -t29 * t30;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 0] += tvrho0;

  t32 = rho[1] * rho[1];
  t33 = 0.1e1 / t32;
  t36 = tau[1] * t33;
  t38 = 0.1e1 / t32 / rho[1];
  t40 = sigma[2] * t38 / 0.8e1;
  t42 = (lapl[1] * t33 / 0.4e1 - t36 + t40) * t12;
  t43 = -0.9999999999e0 < t42;
  t44 = my_piecewise3(t43, t42, -0.9999999999e0);
  t46 = LambertW(t44 * t16);
  t47 = t46 + 0.1e1;
  t48 = t47 / 0.2e1;
  t49 = xc_bessel_I0(t48);
  t51 = t36 - t40;
  t52 = 0.1e-9 < t51;
  t53 = my_piecewise3(t52, t51, 0.1e-9);
  t54 = sqrt(t53);
  t57 = M_PI * t49 - 0.4e1 / 0.3e1 * t12 * t54;
  t58 = sqrt(rho[1]);
  tvrho1 = -t57 * t58;

  if(out->vrho != NULL && (p->info->flags & XC_FLAGS_HAVE_VXC))
    out->vrho[ip*p->dim.vrho + 1] += tvrho1;

  t60 = xc_bessel_I1(t20);
  t61 = M_PI * t60;
  t65 = 0.2e1 * tau[0] * t8;
  t66 = t2 * t2;
  t67 = 0.1e1 / t66;
  t69 = 0.3e1 / 0.8e1 * sigma[0] * t67;
  t72 = my_piecewise3(t14, (-lapl[0] * t8 / 0.2e1 + t65 - t69) * t12, 0);
  t74 = 0.1e1 / t19;
  t75 = t18 * t74;
  t76 = 0.1e1 / t15;
  t77 = t75 * t76;
  t81 = t12 / t26;
  t83 = my_piecewise3(t24, -t65 + t69, 0);
  t86 = t61 * t72 * t77 / 0.2e1 - 0.2e1 / 0.3e1 * t81 * t83;
  t88 = 0.1e1 / t30;
  tv2rho20 = -t86 * t30 - t29 * t88 / 0.2e1;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 0] += tv2rho20;

  tv2rho21 = 0.e0;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 1] += tv2rho21;

  t91 = xc_bessel_I1(t48);
  t92 = M_PI * t91;
  t96 = 0.2e1 * tau[1] * t38;
  t97 = t32 * t32;
  t98 = 0.1e1 / t97;
  t100 = 0.3e1 / 0.8e1 * sigma[2] * t98;
  t103 = my_piecewise3(t43, (-lapl[1] * t38 / 0.2e1 + t96 - t100) * t12, 0);
  t105 = 0.1e1 / t47;
  t106 = t46 * t105;
  t107 = 0.1e1 / t44;
  t108 = t106 * t107;
  t112 = t12 / t54;
  t114 = my_piecewise3(t52, -t96 + t100, 0);
  t117 = t92 * t103 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t114;
  t119 = 0.1e1 / t58;
  tv2rho22 = -t117 * t58 - t57 * t119 / 0.2e1;

  if(out->v2rho2 != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rho2[ip*p->dim.v2rho2 + 2] += tv2rho22;

  t122 = t3 * t12;
  t124 = my_piecewise3(t14, t122 / 0.4e1, 0);
  t125 = t61 * t124;
  t127 = t75 * t76 * t30;
  tv2rholapl0 = -t125 * t127 / 0.2e1;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 0] += tv2rholapl0;

  tv2rholapl1 = 0.e0;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 1] += tv2rholapl1;

  tv2rholapl2 = 0.e0;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 2] += tv2rholapl2;

  t130 = t33 * t12;
  t132 = my_piecewise3(t43, t130 / 0.4e1, 0);
  t133 = t92 * t132;
  t135 = t106 * t107 * t58;
  tv2rholapl3 = -t133 * t135 / 0.2e1;

  if(out->v2rholapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rholapl[ip*p->dim.v2rholapl + 3] += tv2rholapl3;

  t138 = t8 * t12;
  t140 = my_piecewise3(t14, t138 / 0.8e1, 0);
  t141 = t61 * t140;
  t145 = my_piecewise3(t24, -t8 / 0.8e1, 0);
  t148 = t141 * t77 / 0.2e1 - 0.2e1 / 0.3e1 * t81 * t145;
  tv2rhosigma0 = -t148 * t30;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 0] += tv2rhosigma0;

  tv2rhosigma1 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 1] += tv2rhosigma1;

  tv2rhosigma2 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 2] += tv2rhosigma2;

  tv2rhosigma3 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 3] += tv2rhosigma3;

  tv2rhosigma4 = 0.e0;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 4] += tv2rhosigma4;

  t150 = t38 * t12;
  t152 = my_piecewise3(t43, t150 / 0.8e1, 0);
  t153 = t92 * t152;
  t157 = my_piecewise3(t52, -t38 / 0.8e1, 0);
  t160 = t153 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t157;
  tv2rhosigma5 = -t160 * t58;

  if(out->v2rhosigma != NULL && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhosigma[ip*p->dim.v2rhosigma + 5] += tv2rhosigma5;

  t162 = my_piecewise3(t14, -t122, 0);
  t163 = t61 * t162;
  t166 = my_piecewise3(t24, t3, 0);
  t169 = t163 * t77 / 0.2e1 - 0.2e1 / 0.3e1 * t81 * t166;
  tv2rhotau0 = -t169 * t30;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 0] += tv2rhotau0;

  tv2rhotau1 = 0.e0;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 1] += tv2rhotau1;

  tv2rhotau2 = 0.e0;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 2] += tv2rhotau2;

  t171 = my_piecewise3(t43, -t130, 0);
  t172 = t92 * t171;
  t175 = my_piecewise3(t52, t33, 0);
  t178 = t172 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t175;
  tv2rhotau3 = -t178 * t58;

  if(out->v2rhotau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_FXC))
    out->v2rhotau[ip*p->dim.v2rhotau + 3] += tv2rhotau3;

  t180 = 0.1e1 / t20;
  t182 = -t180 * t60 + t21;
  t183 = M_PI * t182;
  t184 = t18 * t18;
  t185 = t72 * t184;
  t186 = t183 * t185;
  t187 = t19 * t19;
  t188 = 0.1e1 / t187;
  t189 = t15 * t15;
  t190 = 0.1e1 / t189;
  t191 = t188 * t190;
  t192 = t124 * t30;
  t193 = t191 * t192;
  t197 = my_piecewise3(t14, -t138 / 0.2e1, 0);
  t198 = t61 * t197;
  t201 = t124 * t72;
  t202 = t61 * t201;
  t203 = t18 * t188;
  t204 = t190 * t30;
  t205 = t203 * t204;
  t208 = t124 * t184;
  t209 = t61 * t208;
  t211 = 0.1e1 / t187 / t19;
  t212 = t211 * t190;
  t213 = t30 * t72;
  t214 = t212 * t213;
  t217 = t124 * t18;
  t218 = t61 * t217;
  t219 = t74 * t190;
  t220 = t219 * t213;
  t224 = t75 * t76 * t88;
  tv3rho2lapl0 = -t186 * t193 / 0.4e1 - t198 * t127 / 0.2e1 - t202 * t205 / 0.2e1 + t209 * t214 / 0.2e1 + t218 * t220 / 0.2e1 - t125 * t224 / 0.4e1;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 0] += tv3rho2lapl0;

  tv3rho2lapl1 = 0.e0;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 1] += tv3rho2lapl1;

  tv3rho2lapl2 = 0.e0;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 2] += tv3rho2lapl2;

  tv3rho2lapl3 = 0.e0;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 3] += tv3rho2lapl3;

  tv3rho2lapl4 = 0.e0;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 4] += tv3rho2lapl4;

  t227 = 0.1e1 / t48;
  t229 = -t227 * t91 + t49;
  t230 = M_PI * t229;
  t231 = t46 * t46;
  t232 = t103 * t231;
  t233 = t230 * t232;
  t234 = t47 * t47;
  t235 = 0.1e1 / t234;
  t236 = t44 * t44;
  t237 = 0.1e1 / t236;
  t238 = t235 * t237;
  t239 = t132 * t58;
  t240 = t238 * t239;
  t244 = my_piecewise3(t43, -t150 / 0.2e1, 0);
  t245 = t92 * t244;
  t248 = t132 * t103;
  t249 = t92 * t248;
  t250 = t46 * t235;
  t251 = t237 * t58;
  t252 = t250 * t251;
  t255 = t132 * t231;
  t256 = t92 * t255;
  t258 = 0.1e1 / t234 / t47;
  t259 = t258 * t237;
  t260 = t58 * t103;
  t261 = t259 * t260;
  t264 = t132 * t46;
  t265 = t92 * t264;
  t266 = t105 * t237;
  t267 = t266 * t260;
  t271 = t106 * t107 * t119;
  tv3rho2lapl5 = -t233 * t240 / 0.4e1 - t245 * t135 / 0.2e1 - t249 * t252 / 0.2e1 + t256 * t261 / 0.2e1 + t265 * t267 / 0.2e1 - t133 * t271 / 0.4e1;

  if(out->v3rho2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2lapl[ip*p->dim.v3rho2lapl + 5] += tv3rho2lapl5;

  t274 = t183 * t72;
  t275 = t184 * t188;
  t276 = t190 * t140;
  t277 = t275 * t276;
  t280 = t67 * t12;
  t282 = my_piecewise3(t14, -0.3e1 / 0.8e1 * t280, 0);
  t283 = t61 * t282;
  t286 = t72 * t18;
  t287 = t286 * t191;
  t290 = t184 * t211;
  t291 = t190 * t72;
  t292 = t290 * t291;
  t295 = t75 * t291;
  t300 = t12 / t26 / t25;
  t305 = my_piecewise3(t24, 0.3e1 / 0.8e1 * t67, 0);
  t308 = t274 * t277 / 0.4e1 + t283 * t77 / 0.2e1 + t141 * t287 / 0.2e1 - t141 * t292 / 0.2e1 - t141 * t295 / 0.2e1 + t300 * t145 * t83 / 0.3e1 - 0.2e1 / 0.3e1 * t81 * t305;
  tv3rho2sigma0 = -t308 * t30 - t148 * t88 / 0.2e1;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 0] += tv3rho2sigma0;

  tv3rho2sigma1 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 1] += tv3rho2sigma1;

  tv3rho2sigma2 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 2] += tv3rho2sigma2;

  tv3rho2sigma3 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 3] += tv3rho2sigma3;

  tv3rho2sigma4 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 4] += tv3rho2sigma4;

  tv3rho2sigma5 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 5] += tv3rho2sigma5;

  tv3rho2sigma6 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 6] += tv3rho2sigma6;

  tv3rho2sigma7 = 0.e0;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 7] += tv3rho2sigma7;

  t312 = t230 * t103;
  t313 = t231 * t235;
  t314 = t237 * t152;
  t315 = t313 * t314;
  t318 = t98 * t12;
  t320 = my_piecewise3(t43, -0.3e1 / 0.8e1 * t318, 0);
  t321 = t92 * t320;
  t324 = t103 * t46;
  t325 = t324 * t238;
  t328 = t231 * t258;
  t329 = t237 * t103;
  t330 = t328 * t329;
  t333 = t106 * t329;
  t338 = t12 / t54 / t53;
  t343 = my_piecewise3(t52, 0.3e1 / 0.8e1 * t98, 0);
  t346 = t312 * t315 / 0.4e1 + t321 * t108 / 0.2e1 + t153 * t325 / 0.2e1 - t153 * t330 / 0.2e1 - t153 * t333 / 0.2e1 + t338 * t157 * t114 / 0.3e1 - 0.2e1 / 0.3e1 * t112 * t343;
  tv3rho2sigma8 = -t346 * t58 - t160 * t119 / 0.2e1;

  if(out->v3rho2sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2sigma[ip*p->dim.v3rho2sigma + 8] += tv3rho2sigma8;

  t351 = t275 * t190 * t162;
  t355 = my_piecewise3(t14, 0.2e1 * t138, 0);
  t356 = t61 * t355;
  t369 = my_piecewise3(t24, -0.2e1 * t8, 0);
  t372 = t274 * t351 / 0.4e1 + t356 * t77 / 0.2e1 + t163 * t287 / 0.2e1 - t163 * t292 / 0.2e1 - t163 * t295 / 0.2e1 + t300 * t166 * t83 / 0.3e1 - 0.2e1 / 0.3e1 * t81 * t369;
  tv3rho2tau0 = -t372 * t30 - t169 * t88 / 0.2e1;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 0] += tv3rho2tau0;

  tv3rho2tau1 = 0.e0;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 1] += tv3rho2tau1;

  tv3rho2tau2 = 0.e0;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 2] += tv3rho2tau2;

  tv3rho2tau3 = 0.e0;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 3] += tv3rho2tau3;

  tv3rho2tau4 = 0.e0;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 4] += tv3rho2tau4;

  t377 = t313 * t237 * t171;
  t381 = my_piecewise3(t43, 0.2e1 * t150, 0);
  t382 = t92 * t381;
  t395 = my_piecewise3(t52, -0.2e1 * t38, 0);
  t398 = t312 * t377 / 0.4e1 + t382 * t108 / 0.2e1 + t172 * t325 / 0.2e1 - t172 * t330 / 0.2e1 - t172 * t333 / 0.2e1 + t338 * t175 * t114 / 0.3e1 - 0.2e1 / 0.3e1 * t112 * t395;
  tv3rho2tau5 = -t398 * t58 - t178 * t119 / 0.2e1;

  if(out->v3rho2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho2tau[ip*p->dim.v3rho2tau + 5] += tv3rho2tau5;

  t402 = t72 * t72;
  t403 = t183 * t402;
  t404 = t275 * t190;
  t410 = 0.6e1 * tau[0] * t67;
  t412 = 0.1e1 / t66 / rho[0];
  t414 = 0.3e1 / 0.2e1 * sigma[0] * t412;
  t417 = my_piecewise3(t14, (0.3e1 / 0.2e1 * lapl[0] * t67 - t410 + t414) * t12, 0);
  t418 = t61 * t417;
  t421 = t61 * t402;
  t422 = t203 * t190;
  t425 = t290 * t190;
  t428 = t75 * t190;
  t431 = t83 * t83;
  t435 = my_piecewise3(t24, t410 - t414, 0);
  t438 = t403 * t404 / 0.4e1 + t418 * t77 / 0.2e1 + t421 * t422 / 0.2e1 - t421 * t425 / 0.2e1 - t421 * t428 / 0.2e1 + t300 * t431 / 0.3e1 - 0.2e1 / 0.3e1 * t81 * t435;
  t442 = 0.1e1 / t30 / rho[0];
  tv3rho30 = -t438 * t30 - t86 * t88 + t29 * t442 / 0.4e1;

  if(out->v3rho3 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho3[ip*p->dim.v3rho3 + 0] += tv3rho30;

  tv3rho31 = 0.e0;

  if(out->v3rho3 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho3[ip*p->dim.v3rho3 + 1] += tv3rho31;

  tv3rho32 = 0.e0;

  if(out->v3rho3 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho3[ip*p->dim.v3rho3 + 2] += tv3rho32;

  t445 = t103 * t103;
  t446 = t230 * t445;
  t447 = t313 * t237;
  t453 = 0.6e1 * tau[1] * t98;
  t455 = 0.1e1 / t97 / rho[1];
  t457 = 0.3e1 / 0.2e1 * sigma[2] * t455;
  t460 = my_piecewise3(t43, (0.3e1 / 0.2e1 * lapl[1] * t98 - t453 + t457) * t12, 0);
  t461 = t92 * t460;
  t464 = t92 * t445;
  t465 = t250 * t237;
  t468 = t328 * t237;
  t471 = t106 * t237;
  t474 = t114 * t114;
  t478 = my_piecewise3(t52, t453 - t457, 0);
  t481 = t446 * t447 / 0.4e1 + t461 * t108 / 0.2e1 + t464 * t465 / 0.2e1 - t464 * t468 / 0.2e1 - t464 * t471 / 0.2e1 + t338 * t474 / 0.3e1 - 0.2e1 / 0.3e1 * t112 * t478;
  t485 = 0.1e1 / t58 / rho[1];
  tv3rho33 = -t481 * t58 - t117 * t119 + t57 * t485 / 0.4e1;

  if(out->v3rho3 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rho3[ip*p->dim.v3rho3 + 3] += tv3rho33;

  t488 = t124 * t124;
  t489 = t183 * t488;
  t490 = t275 * t204;
  t493 = my_piecewise3(t14, 0, 0);
  t494 = t61 * t493;
  t496 = t494 * t127 / 0.2e1;
  t497 = t61 * t488;
  tv3rholapl20 = -t489 * t490 / 0.4e1 - t496 - t497 * t205 / 0.2e1 + t497 * t290 * t204 / 0.2e1 + t497 * t75 * t204 / 0.2e1;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 0] += tv3rholapl20;

  tv3rholapl21 = 0.e0;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 1] += tv3rholapl21;

  tv3rholapl22 = 0.e0;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 2] += tv3rholapl22;

  tv3rholapl23 = 0.e0;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 3] += tv3rholapl23;

  tv3rholapl24 = 0.e0;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 4] += tv3rholapl24;

  t506 = t132 * t132;
  t507 = t230 * t506;
  t508 = t313 * t251;
  t511 = my_piecewise3(t43, 0, 0);
  t512 = t92 * t511;
  t514 = t512 * t135 / 0.2e1;
  t515 = t92 * t506;
  tv3rholapl25 = -t507 * t508 / 0.4e1 - t514 - t515 * t252 / 0.2e1 + t515 * t328 * t251 / 0.2e1 + t515 * t106 * t251 / 0.2e1;

  if(out->v3rholapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapl2[ip*p->dim.v3rholapl2 + 5] += tv3rholapl25;

  t524 = t183 * t124;
  t528 = t494 * t77 / 0.2e1;
  t529 = t217 * t191;
  t532 = t190 * t124;
  t533 = t290 * t532;
  t536 = t75 * t532;
  t539 = t524 * t351 / 0.4e1 + t528 + t163 * t529 / 0.2e1 - t163 * t533 / 0.2e1 - t163 * t536 / 0.2e1;
  tv3rholapltau0 = -t539 * t30;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 0] += tv3rholapltau0;

  tv3rholapltau1 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 1] += tv3rholapltau1;

  tv3rholapltau2 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 2] += tv3rholapltau2;

  tv3rholapltau3 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 3] += tv3rholapltau3;

  tv3rholapltau4 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 4] += tv3rholapltau4;

  tv3rholapltau5 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 5] += tv3rholapltau5;

  tv3rholapltau6 = 0.e0;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 6] += tv3rholapltau6;

  t541 = t230 * t132;
  t545 = t512 * t108 / 0.2e1;
  t546 = t264 * t238;
  t549 = t237 * t132;
  t550 = t328 * t549;
  t553 = t106 * t549;
  t556 = t541 * t377 / 0.4e1 + t545 + t172 * t546 / 0.2e1 - t172 * t550 / 0.2e1 - t172 * t553 / 0.2e1;
  tv3rholapltau7 = -t556 * t58;

  if(out->v3rholapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rholapltau[ip*p->dim.v3rholapltau + 7] += tv3rholapltau7;

  t558 = t140 * t140;
  t559 = t183 * t558;
  t562 = t61 * t558;
  t569 = t145 * t145;
  t572 = my_piecewise3(t24, 0, 0);
  t574 = 0.2e1 / 0.3e1 * t81 * t572;
  t575 = t559 * t404 / 0.4e1 + t528 + t562 * t422 / 0.2e1 - t562 * t425 / 0.2e1 - t562 * t428 / 0.2e1 + t300 * t569 / 0.3e1 - t574;
  tv3rhosigma20 = -t575 * t30;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 0] += tv3rhosigma20;

  tv3rhosigma21 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 1] += tv3rhosigma21;

  tv3rhosigma22 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 2] += tv3rhosigma22;

  tv3rhosigma23 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 3] += tv3rhosigma23;

  tv3rhosigma24 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 4] += tv3rhosigma24;

  tv3rhosigma25 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 5] += tv3rhosigma25;

  tv3rhosigma26 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 6] += tv3rhosigma26;

  tv3rhosigma27 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 7] += tv3rhosigma27;

  tv3rhosigma28 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 8] += tv3rhosigma28;

  tv3rhosigma29 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 9] += tv3rhosigma29;

  tv3rhosigma210 = 0.e0;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 10] += tv3rhosigma210;

  t577 = t152 * t152;
  t578 = t230 * t577;
  t581 = t92 * t577;
  t588 = t157 * t157;
  t591 = my_piecewise3(t52, 0, 0);
  t593 = 0.2e1 / 0.3e1 * t112 * t591;
  t594 = t578 * t447 / 0.4e1 + t545 + t581 * t465 / 0.2e1 - t581 * t468 / 0.2e1 - t581 * t471 / 0.2e1 + t338 * t588 / 0.3e1 - t593;
  tv3rhosigma211 = -t594 * t58;

  if(out->v3rhosigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigma2[ip*p->dim.v3rhosigma2 + 11] += tv3rhosigma211;

  t596 = t140 * t184;
  t597 = t183 * t596;
  t600 = t124 * t140;
  t601 = t61 * t600;
  t604 = t30 * t140;
  t605 = t212 * t604;
  t608 = t219 * t604;
  tv3rhosigmalapl0 = -t597 * t193 / 0.4e1 - t496 - t601 * t205 / 0.2e1 + t209 * t605 / 0.2e1 + t218 * t608 / 0.2e1;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 0] += tv3rhosigmalapl0;

  tv3rhosigmalapl1 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 1] += tv3rhosigmalapl1;

  tv3rhosigmalapl2 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 2] += tv3rhosigmalapl2;

  tv3rhosigmalapl3 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 3] += tv3rhosigmalapl3;

  tv3rhosigmalapl4 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 4] += tv3rhosigmalapl4;

  tv3rhosigmalapl5 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 5] += tv3rhosigmalapl5;

  tv3rhosigmalapl6 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 6] += tv3rhosigmalapl6;

  tv3rhosigmalapl7 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 7] += tv3rhosigmalapl7;

  tv3rhosigmalapl8 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 8] += tv3rhosigmalapl8;

  tv3rhosigmalapl9 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 9] += tv3rhosigmalapl9;

  tv3rhosigmalapl10 = 0.e0;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 10] += tv3rhosigmalapl10;

  t611 = t152 * t231;
  t612 = t230 * t611;
  t615 = t132 * t152;
  t616 = t92 * t615;
  t619 = t58 * t152;
  t620 = t259 * t619;
  t623 = t266 * t619;
  tv3rhosigmalapl11 = -t612 * t240 / 0.4e1 - t514 - t616 * t252 / 0.2e1 + t256 * t620 / 0.2e1 + t265 * t623 / 0.2e1;

  if(out->v3rhosigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmalapl[ip*p->dim.v3rhosigmalapl + 11] += tv3rhosigmalapl11;

  t626 = t183 * t140;
  t629 = t140 * t18;
  t630 = t629 * t191;
  t633 = t290 * t276;
  t636 = t75 * t276;
  t639 = t166 * t145;
  t642 = t626 * t351 / 0.4e1 + t528 + t163 * t630 / 0.2e1 - t163 * t633 / 0.2e1 - t163 * t636 / 0.2e1 + t300 * t639 / 0.3e1 - t574;
  tv3rhosigmatau0 = -t642 * t30;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 0] += tv3rhosigmatau0;

  tv3rhosigmatau1 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 1] += tv3rhosigmatau1;

  tv3rhosigmatau2 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 2] += tv3rhosigmatau2;

  tv3rhosigmatau3 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 3] += tv3rhosigmatau3;

  tv3rhosigmatau4 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 4] += tv3rhosigmatau4;

  tv3rhosigmatau5 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 5] += tv3rhosigmatau5;

  tv3rhosigmatau6 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 6] += tv3rhosigmatau6;

  tv3rhosigmatau7 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 7] += tv3rhosigmatau7;

  tv3rhosigmatau8 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 8] += tv3rhosigmatau8;

  tv3rhosigmatau9 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 9] += tv3rhosigmatau9;

  tv3rhosigmatau10 = 0.e0;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 10] += tv3rhosigmatau10;

  t644 = t230 * t152;
  t647 = t152 * t46;
  t648 = t647 * t238;
  t651 = t328 * t314;
  t654 = t106 * t314;
  t657 = t175 * t157;
  t660 = t644 * t377 / 0.4e1 + t545 + t172 * t648 / 0.2e1 - t172 * t651 / 0.2e1 - t172 * t654 / 0.2e1 + t338 * t657 / 0.3e1 - t593;
  tv3rhosigmatau11 = -t660 * t58;

  if(out->v3rhosigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhosigmatau[ip*p->dim.v3rhosigmatau + 11] += tv3rhosigmatau11;

  t662 = t162 * t162;
  t663 = t183 * t662;
  t666 = t61 * t662;
  t673 = t166 * t166;
  t676 = t663 * t404 / 0.4e1 + t528 + t666 * t422 / 0.2e1 - t666 * t425 / 0.2e1 - t666 * t428 / 0.2e1 + t300 * t673 / 0.3e1 - t574;
  tv3rhotau20 = -t676 * t30;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 0] += tv3rhotau20;

  tv3rhotau21 = 0.e0;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 1] += tv3rhotau21;

  tv3rhotau22 = 0.e0;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 2] += tv3rhotau22;

  tv3rhotau23 = 0.e0;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 3] += tv3rhotau23;

  tv3rhotau24 = 0.e0;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 4] += tv3rhotau24;

  t678 = t171 * t171;
  t679 = t230 * t678;
  t682 = t92 * t678;
  t689 = t175 * t175;
  t692 = t679 * t447 / 0.4e1 + t545 + t682 * t465 / 0.2e1 - t682 * t468 / 0.2e1 - t682 * t471 / 0.2e1 + t338 * t689 / 0.3e1 - t593;
  tv3rhotau25 = -t692 * t58;

  if(out->v3rhotau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_KXC))
    out->v3rhotau2[ip*p->dim.v3rhotau2 + 5] += tv3rhotau25;

  t694 = t488 * t184;
  t695 = t183 * t694;
  t697 = 0.1e1 / t189 / t15;
  t698 = t211 * t697;
  t699 = t698 * t213;
  t702 = t184 * t18;
  t703 = t488 * t702;
  t704 = t183 * t703;
  t705 = t187 * t187;
  t706 = 0.1e1 / t705;
  t707 = t706 * t697;
  t708 = t707 * t213;
  t712 = t61 * t493 * t184;
  t714 = t712 * t214 / 0.2e1;
  t715 = t61 * t694;
  t718 = t61 * t703;
  t720 = 0.1e1 / t705 / t19;
  t721 = t720 * t697;
  t728 = t61 * t493 * t72 * t205 / 0.2e1;
  t731 = t18 * t211;
  t732 = t697 * t30;
  t733 = t731 * t732;
  t738 = t20 * t20;
  t740 = 0.1e1 / t738 * t60;
  t743 = t180 * t182;
  t748 = M_PI * (t60 * t72 * t77 / 0.2e1 + t740 * t72 * t77 / 0.2e1 - t743 * t72 * t77 / 0.2e1);
  t752 = t183 * t208;
  t753 = t30 * t197;
  t754 = t191 * t753;
  t757 = t188 * t697;
  t758 = t757 * t213;
  t761 = t190 * t88;
  t765 = -0.3e1 / 0.4e1 * t695 * t699 + 0.3e1 / 0.4e1 * t704 * t708 + t714 + 0.2e1 * t715 * t708 - 0.3e1 / 0.2e1 * t718 * t721 * t213 - t728 - t61 * t488 * t72 * t733 / 0.2e1 - t748 * t488 * t490 / 0.4e1 - t496 - t752 * t754 / 0.2e1 + 0.3e1 / 0.4e1 * t695 * t758 - t489 * t275 * t761 / 0.8e1;
  t766 = t493 * t18;
  t767 = t61 * t766;
  t769 = t767 * t220 / 0.2e1;
  t771 = t494 * t224 / 0.4e1;
  t773 = t191 * t493 * t30;
  t775 = t186 * t773 / 0.4e1;
  t777 = t488 * t18;
  t778 = t61 * t777;
  t781 = t203 * t761;
  t793 = t74 * t697;
  t799 = t769 - t771 - t775 - t218 * t754 + 0.3e1 / 0.2e1 * t778 * t758 - t497 * t781 / 0.4e1 + t209 * t212 * t753 - 0.3e1 / 0.2e1 * t715 * t699 + t497 * t290 * t761 / 0.4e1 + t218 * t219 * t753 - t778 * t793 * t213 + t497 * t75 * t761 / 0.4e1;
  tv4rho2lapl20 = t765 + t799;

  if(out->v4rho2lapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapl2[ip*p->dim.v4rho2lapl2 + 0] += tv4rho2lapl20;

  tv4rho2lapl21 = 0.e0;

  if(out->v4rho2lapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapl2[ip*p->dim.v4rho2lapl2 + 1] += tv4rho2lapl21;

  tv4rho2lapl22 = 0.e0;

  if(out->v4rho2lapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapl2[ip*p->dim.v4rho2lapl2 + 2] += tv4rho2lapl22;

  tv4rho2lapl23 = 0.e0;

  if(out->v4rho2lapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapl2[ip*p->dim.v4rho2lapl2 + 3] += tv4rho2lapl23;

  tv4rho2lapl24 = 0.e0;

  if(out->v4rho2lapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapl2[ip*p->dim.v4rho2lapl2 + 4] += tv4rho2lapl24;

  tv4rho2lapl25 = 0.e0;

  if(out->v4rho2lapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapl2[ip*p->dim.v4rho2lapl2 + 5] += tv4rho2lapl25;

  tv4rho2lapl26 = 0.e0;

  if(out->v4rho2lapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapl2[ip*p->dim.v4rho2lapl2 + 6] += tv4rho2lapl26;

  tv4rho2lapl27 = 0.e0;

  if(out->v4rho2lapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapl2[ip*p->dim.v4rho2lapl2 + 7] += tv4rho2lapl27;

  t800 = t506 * t231;
  t801 = t230 * t800;
  t803 = 0.1e1 / t236 / t44;
  t804 = t258 * t803;
  t805 = t804 * t260;
  t808 = t231 * t46;
  t809 = t506 * t808;
  t810 = t230 * t809;
  t811 = t234 * t234;
  t812 = 0.1e1 / t811;
  t813 = t812 * t803;
  t814 = t813 * t260;
  t818 = t92 * t511 * t231;
  t820 = t818 * t261 / 0.2e1;
  t821 = t92 * t800;
  t824 = t92 * t809;
  t826 = 0.1e1 / t811 / t47;
  t827 = t826 * t803;
  t834 = t92 * t511 * t103 * t252 / 0.2e1;
  t837 = t46 * t258;
  t838 = t803 * t58;
  t839 = t837 * t838;
  t844 = t48 * t48;
  t846 = 0.1e1 / t844 * t91;
  t849 = t227 * t229;
  t854 = M_PI * (t846 * t103 * t108 / 0.2e1 - t849 * t103 * t108 / 0.2e1 + t91 * t103 * t108 / 0.2e1);
  t858 = t230 * t255;
  t859 = t58 * t244;
  t860 = t238 * t859;
  t863 = t235 * t803;
  t864 = t863 * t260;
  t867 = t237 * t119;
  t871 = -0.3e1 / 0.4e1 * t801 * t805 + 0.3e1 / 0.4e1 * t810 * t814 + t820 + 0.2e1 * t821 * t814 - 0.3e1 / 0.2e1 * t824 * t827 * t260 - t834 - t92 * t506 * t103 * t839 / 0.2e1 - t854 * t506 * t508 / 0.4e1 - t514 - t858 * t860 / 0.2e1 + 0.3e1 / 0.4e1 * t801 * t864 - t507 * t313 * t867 / 0.8e1;
  t872 = t511 * t46;
  t873 = t92 * t872;
  t875 = t873 * t267 / 0.2e1;
  t877 = t512 * t271 / 0.4e1;
  t879 = t238 * t511 * t58;
  t881 = t233 * t879 / 0.4e1;
  t883 = t506 * t46;
  t884 = t92 * t883;
  t887 = t250 * t867;
  t899 = t105 * t803;
  t905 = t875 - t877 - t881 - t265 * t860 + 0.3e1 / 0.2e1 * t884 * t864 - t515 * t887 / 0.4e1 + t256 * t259 * t859 - 0.3e1 / 0.2e1 * t821 * t805 + t515 * t328 * t867 / 0.4e1 + t265 * t266 * t859 - t884 * t899 * t260 + t515 * t106 * t867 / 0.4e1;
  tv4rho2lapl28 = t871 + t905;

  if(out->v4rho2lapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapl2[ip*p->dim.v4rho2lapl2 + 8] += tv4rho2lapl28;

  t907 = t61 * t162 * t702;
  t911 = t162 * t72;
  t912 = t698 * t911;
  t915 = t124 * t702;
  t916 = t183 * t915;
  t917 = t707 * t911;
  t921 = t61 * t162 * t124;
  t922 = t184 * t706;
  t923 = t697 * t72;
  t924 = t922 * t923;
  t928 = t494 * t292 / 0.2e1;
  t929 = t286 * t698;
  t938 = t190 * t355;
  t939 = t275 * t938;
  t943 = t494 * t295 / 0.2e1;
  t944 = t190 * t493;
  t945 = t275 * t944;
  t947 = t274 * t945 / 0.4e1;
  t948 = 0.3e1 / 0.2e1 * t907 * t721 * t201 + 0.3e1 / 0.4e1 * t752 * t912 - 0.3e1 / 0.4e1 * t916 * t917 - 0.2e1 * t921 * t924 - t928 + t921 * t929 / 0.2e1 + t748 * t124 * t351 / 0.4e1 + t183 * t197 * t351 / 0.4e1 + t524 * t939 / 0.4e1 - t943 + t947;
  t951 = t197 * t18;
  t957 = t190 * t197;
  t967 = t494 * t287 / 0.2e1;
  t968 = t757 * t911;
  t971 = t203 * t923;
  t975 = t61 * t162 * t184;
  t980 = t61 * t162 * t18;
  t983 = t356 * t529 / 0.2e1 + t163 * t951 * t191 / 0.2e1 - t356 * t533 / 0.2e1 - t163 * t290 * t957 / 0.2e1 - t356 * t536 / 0.2e1 - t163 * t75 * t957 / 0.2e1 + t528 + t967 - 0.3e1 / 0.4e1 * t752 * t968 - 0.3e1 / 0.2e1 * t921 * t971 + 0.3e1 / 0.2e1 * t975 * t698 * t201 + t980 * t793 * t201;
  tv4rho2lapltau0 = -(t948 + t983) * t30 - t539 * t88 / 0.2e1;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 0] += tv4rho2lapltau0;

  tv4rho2lapltau1 = 0.e0;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 1] += tv4rho2lapltau1;

  tv4rho2lapltau2 = 0.e0;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 2] += tv4rho2lapltau2;

  tv4rho2lapltau3 = 0.e0;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 3] += tv4rho2lapltau3;

  tv4rho2lapltau4 = 0.e0;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 4] += tv4rho2lapltau4;

  tv4rho2lapltau5 = 0.e0;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 5] += tv4rho2lapltau5;

  tv4rho2lapltau6 = 0.e0;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 6] += tv4rho2lapltau6;

  tv4rho2lapltau7 = 0.e0;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 7] += tv4rho2lapltau7;

  tv4rho2lapltau8 = 0.e0;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 8] += tv4rho2lapltau8;

  tv4rho2lapltau9 = 0.e0;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 9] += tv4rho2lapltau9;

  tv4rho2lapltau10 = 0.e0;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 10] += tv4rho2lapltau10;

  t988 = t171 * t103;
  t989 = t804 * t988;
  t992 = t132 * t808;
  t993 = t230 * t992;
  t994 = t813 * t988;
  t998 = t92 * t171 * t132;
  t999 = t231 * t812;
  t1000 = t803 * t103;
  t1001 = t999 * t1000;
  t1005 = t92 * t171 * t808;
  t1010 = t512 * t330 / 0.2e1;
  t1011 = t324 * t804;
  t1020 = t237 * t381;
  t1021 = t313 * t1020;
  t1025 = t512 * t333 / 0.2e1;
  t1026 = t237 * t511;
  t1027 = t313 * t1026;
  t1029 = t312 * t1027 / 0.4e1;
  t1030 = 0.3e1 / 0.4e1 * t858 * t989 - 0.3e1 / 0.4e1 * t993 * t994 - 0.2e1 * t998 * t1001 + 0.3e1 / 0.2e1 * t1005 * t827 * t248 - t1010 + t998 * t1011 / 0.2e1 + t854 * t132 * t377 / 0.4e1 + t230 * t244 * t377 / 0.4e1 + t541 * t1021 / 0.4e1 - t1025 + t1029;
  t1033 = t244 * t46;
  t1039 = t237 * t244;
  t1049 = t92 * t171 * t46;
  t1053 = t512 * t325 / 0.2e1;
  t1054 = t863 * t988;
  t1057 = t250 * t1000;
  t1061 = t92 * t171 * t231;
  t1065 = t382 * t546 / 0.2e1 + t172 * t1033 * t238 / 0.2e1 - t382 * t550 / 0.2e1 - t172 * t328 * t1039 / 0.2e1 - t382 * t553 / 0.2e1 - t172 * t106 * t1039 / 0.2e1 + t545 + t1049 * t899 * t248 + t1053 - 0.3e1 / 0.4e1 * t858 * t1054 - 0.3e1 / 0.2e1 * t998 * t1057 + 0.3e1 / 0.2e1 * t1061 * t804 * t248;
  tv4rho2lapltau11 = -(t1030 + t1065) * t58 - t556 * t119 / 0.2e1;

  if(out->v4rho2lapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2lapltau[ip*p->dim.v4rho2lapltau + 11] += tv4rho2lapltau11;

  t1072 = t702 * t720;
  t1073 = t1072 * t923;
  t1076 = t290 * t923;
  t1079 = t702 * t706;
  t1080 = t1079 * t923;
  t1085 = t190 * t282;
  t1086 = t275 * t1085;
  t1089 = t275 * t923;
  t1092 = t203 * t1085;
  t1096 = t290 * t1085;
  t1098 = t562 * t929 / 0.2e1 + 0.3e1 / 0.2e1 * t562 * t1073 - t928 + 0.3e1 / 0.4e1 * t559 * t1076 - 0.3e1 / 0.4e1 * t559 * t1080 - 0.2e1 * t562 * t924 + t626 * t1086 / 0.2e1 - 0.3e1 / 0.4e1 * t559 * t1089 + t141 * t1092 - 0.3e1 / 0.2e1 * t562 * t971 - t141 * t1096;
  t1101 = t75 * t1085;
  t1103 = t75 * t923;
  t1108 = t25 * t25;
  t1111 = t12 / t26 / t1108;
  t1120 = t300 * t572 * t83 / 0.3e1;
  t1121 = 0.3e1 / 0.2e1 * t562 * t1076 - t141 * t1101 + t562 * t1103 - t943 + t947 + t748 * t558 * t404 / 0.4e1 + t528 + t967 - t574 - t1111 * t569 * t83 / 0.2e1 + 0.2e1 / 0.3e1 * t300 * t145 * t305 + t1120;
  tv4rho2sigma20 = -(t1098 + t1121) * t30 - t575 * t88 / 0.2e1;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 0] += tv4rho2sigma20;

  tv4rho2sigma21 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 1] += tv4rho2sigma21;

  tv4rho2sigma22 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 2] += tv4rho2sigma22;

  tv4rho2sigma23 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 3] += tv4rho2sigma23;

  tv4rho2sigma24 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 4] += tv4rho2sigma24;

  tv4rho2sigma25 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 5] += tv4rho2sigma25;

  tv4rho2sigma26 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 6] += tv4rho2sigma26;

  tv4rho2sigma27 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 7] += tv4rho2sigma27;

  tv4rho2sigma28 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 8] += tv4rho2sigma28;

  tv4rho2sigma29 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 9] += tv4rho2sigma29;

  tv4rho2sigma210 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 10] += tv4rho2sigma210;

  tv4rho2sigma211 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 11] += tv4rho2sigma211;

  tv4rho2sigma212 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 12] += tv4rho2sigma212;

  tv4rho2sigma213 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 13] += tv4rho2sigma213;

  tv4rho2sigma214 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 14] += tv4rho2sigma214;

  tv4rho2sigma215 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 15] += tv4rho2sigma215;

  tv4rho2sigma216 = 0.e0;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 16] += tv4rho2sigma216;

  t1126 = t53 * t53;
  t1129 = t12 / t54 / t1126;
  t1138 = t338 * t591 * t114 / 0.3e1;
  t1144 = t328 * t1000;
  t1147 = t808 * t812;
  t1148 = t1147 * t1000;
  t1153 = t808 * t826;
  t1154 = t1153 * t1000;
  t1157 = t237 * t320;
  t1158 = t313 * t1157;
  t1161 = -t1129 * t588 * t114 / 0.2e1 + 0.2e1 / 0.3e1 * t338 * t157 * t343 + t1138 + t854 * t577 * t447 / 0.4e1 + t581 * t1011 / 0.2e1 + 0.3e1 / 0.4e1 * t578 * t1144 - 0.3e1 / 0.4e1 * t578 * t1148 - 0.2e1 * t581 * t1001 + 0.3e1 / 0.2e1 * t581 * t1154 - t1010 + t644 * t1158 / 0.2e1;
  t1162 = t313 * t1000;
  t1165 = t250 * t1157;
  t1169 = t328 * t1157;
  t1173 = t106 * t1157;
  t1175 = t106 * t1000;
  t1177 = -0.3e1 / 0.4e1 * t578 * t1162 + t153 * t1165 - 0.3e1 / 0.2e1 * t581 * t1057 - t153 * t1169 + 0.3e1 / 0.2e1 * t581 * t1144 - t153 * t1173 + t581 * t1175 - t1025 + t1029 + t545 + t1053 - t593;
  tv4rho2sigma217 = -(t1161 + t1177) * t58 - t594 * t119 / 0.2e1;

  if(out->v4rho2sigma2 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigma2[ip*p->dim.v4rho2sigma2 + 17] += tv4rho2sigma217;

  t1200 = t61 * t197 * t184;
  t1203 = t30 * t282;
  t1207 = t61 * t951;
  t1214 = t191 * t124 * t88;
  t1219 = t88 * t140;
  t1226 = -t748 * t596 * t193 / 0.4e1 - t183 * t282 * t184 * t193 / 0.4e1 - t597 * t754 / 0.4e1 - t61 * t197 * t140 * t205 / 0.2e1 - t61 * t124 * t282 * t205 / 0.2e1 + t1200 * t605 / 0.2e1 + t209 * t212 * t1203 / 0.2e1 + t1207 * t608 / 0.2e1 + t218 * t219 * t1203 / 0.2e1 - t597 * t1214 / 0.8e1 - t601 * t781 / 0.4e1 + t209 * t212 * t1219 / 0.4e1 + t218 * t219 * t1219 / 0.4e1 + t714;
  t1227 = t732 * t72;
  t1231 = t604 * t72;
  t1237 = t192 * t72;
  t1242 = t183 * t140 * t702;
  t1249 = t61 * t915;
  t1260 = -t728 + t769 - t775 - t771 - t496 + 0.3e1 / 0.2e1 * t601 * t203 * t1227 - 0.3e1 / 0.2e1 * t209 * t698 * t1231 - t218 * t793 * t1231 - 0.3e1 / 0.4e1 * t597 * t698 * t1237 + 0.3e1 / 0.4e1 * t1242 * t707 * t1237 + 0.2e1 * t601 * t922 * t1227 - 0.3e1 / 0.2e1 * t1249 * t721 * t1231 - t601 * t286 * t698 * t30 / 0.2e1 + 0.3e1 / 0.4e1 * t597 * t757 * t1237;
  tv4rho2sigmalapl0 = t1226 + t1260;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 0] += tv4rho2sigmalapl0;

  tv4rho2sigmalapl1 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 1] += tv4rho2sigmalapl1;

  tv4rho2sigmalapl2 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 2] += tv4rho2sigmalapl2;

  tv4rho2sigmalapl3 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 3] += tv4rho2sigmalapl3;

  tv4rho2sigmalapl4 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 4] += tv4rho2sigmalapl4;

  tv4rho2sigmalapl5 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 5] += tv4rho2sigmalapl5;

  tv4rho2sigmalapl6 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 6] += tv4rho2sigmalapl6;

  tv4rho2sigmalapl7 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 7] += tv4rho2sigmalapl7;

  tv4rho2sigmalapl8 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 8] += tv4rho2sigmalapl8;

  tv4rho2sigmalapl9 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 9] += tv4rho2sigmalapl9;

  tv4rho2sigmalapl10 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 10] += tv4rho2sigmalapl10;

  tv4rho2sigmalapl11 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 11] += tv4rho2sigmalapl11;

  tv4rho2sigmalapl12 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 12] += tv4rho2sigmalapl12;

  tv4rho2sigmalapl13 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 13] += tv4rho2sigmalapl13;

  tv4rho2sigmalapl14 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 14] += tv4rho2sigmalapl14;

  tv4rho2sigmalapl15 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 15] += tv4rho2sigmalapl15;

  tv4rho2sigmalapl16 = 0.e0;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 16] += tv4rho2sigmalapl16;

  t1272 = t92 * t244 * t231;
  t1275 = t58 * t320;
  t1279 = t92 * t1033;
  t1286 = t238 * t132 * t119;
  t1291 = t119 * t152;
  t1305 = -t612 * t860 / 0.4e1 - t92 * t244 * t152 * t252 / 0.2e1 - t92 * t132 * t320 * t252 / 0.2e1 + t1272 * t620 / 0.2e1 + t256 * t259 * t1275 / 0.2e1 + t1279 * t623 / 0.2e1 + t265 * t266 * t1275 / 0.2e1 - t612 * t1286 / 0.8e1 - t616 * t887 / 0.4e1 + t256 * t259 * t1291 / 0.4e1 + t265 * t266 * t1291 / 0.4e1 - t854 * t611 * t240 / 0.4e1 - t230 * t320 * t231 * t240 / 0.4e1 - t834;
  t1306 = t838 * t103;
  t1310 = t619 * t103;
  t1316 = t239 * t103;
  t1321 = t230 * t152 * t808;
  t1328 = t92 * t992;
  t1339 = t875 - t881 + t820 - t877 - t514 + 0.3e1 / 0.2e1 * t616 * t250 * t1306 - 0.3e1 / 0.2e1 * t256 * t804 * t1310 - t265 * t899 * t1310 - 0.3e1 / 0.4e1 * t612 * t804 * t1316 + 0.3e1 / 0.4e1 * t1321 * t813 * t1316 + 0.2e1 * t616 * t999 * t1306 - 0.3e1 / 0.2e1 * t1328 * t827 * t1310 - t616 * t324 * t804 * t58 / 0.2e1 + 0.3e1 / 0.4e1 * t612 * t863 * t1316;
  tv4rho2sigmalapl17 = t1305 + t1339;

  if(out->v4rho2sigmalapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmalapl[ip*p->dim.v4rho2sigmalapl + 17] += tv4rho2sigmalapl17;

  t1343 = t140 * t72;
  t1353 = t162 * t140;
  t1354 = t61 * t1353;
  t1372 = -t1111 * t639 * t83 / 0.2e1 - t574 + 0.3e1 / 0.2e1 * t975 * t698 * t1343 + t980 * t793 * t1343 + 0.3e1 / 0.4e1 * t597 * t912 - 0.3e1 / 0.4e1 * t1242 * t917 - 0.2e1 * t1354 * t924 + 0.3e1 / 0.2e1 * t907 * t721 * t1343 + t1354 * t929 / 0.2e1 - 0.3e1 / 0.4e1 * t597 * t968 - 0.3e1 / 0.2e1 * t1354 * t971 + t163 * t1092 / 0.2e1 - t356 * t633 / 0.2e1 - t163 * t1096 / 0.2e1;
  t1393 = -t356 * t636 / 0.2e1 - t163 * t1101 / 0.2e1 + t748 * t140 * t351 / 0.4e1 + t183 * t282 * t351 / 0.4e1 + t626 * t939 / 0.4e1 + t356 * t630 / 0.2e1 - t943 + t947 + t967 - t928 + t1120 + t300 * t369 * t145 / 0.3e1 + t300 * t166 * t305 / 0.3e1 + t528;
  tv4rho2sigmatau0 = -(t1372 + t1393) * t30 - t642 * t88 / 0.2e1;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 0] += tv4rho2sigmatau0;

  tv4rho2sigmatau1 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 1] += tv4rho2sigmatau1;

  tv4rho2sigmatau2 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 2] += tv4rho2sigmatau2;

  tv4rho2sigmatau3 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 3] += tv4rho2sigmatau3;

  tv4rho2sigmatau4 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 4] += tv4rho2sigmatau4;

  tv4rho2sigmatau5 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 5] += tv4rho2sigmatau5;

  tv4rho2sigmatau6 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 6] += tv4rho2sigmatau6;

  tv4rho2sigmatau7 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 7] += tv4rho2sigmatau7;

  tv4rho2sigmatau8 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 8] += tv4rho2sigmatau8;

  tv4rho2sigmatau9 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 9] += tv4rho2sigmatau9;

  tv4rho2sigmatau10 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 10] += tv4rho2sigmatau10;

  tv4rho2sigmatau11 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 11] += tv4rho2sigmatau11;

  tv4rho2sigmatau12 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 12] += tv4rho2sigmatau12;

  tv4rho2sigmatau13 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 13] += tv4rho2sigmatau13;

  tv4rho2sigmatau14 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 14] += tv4rho2sigmatau14;

  tv4rho2sigmatau15 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 15] += tv4rho2sigmatau15;

  tv4rho2sigmatau16 = 0.e0;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 16] += tv4rho2sigmatau16;

  t1403 = t171 * t152;
  t1404 = t92 * t1403;
  t1407 = t152 * t103;
  t1432 = -t1129 * t657 * t114 / 0.2e1 - t593 - 0.3e1 / 0.4e1 * t612 * t1054 - 0.3e1 / 0.2e1 * t1404 * t1057 + 0.3e1 / 0.2e1 * t1061 * t804 * t1407 + t1049 * t899 * t1407 - 0.2e1 * t1404 * t1001 + 0.3e1 / 0.2e1 * t1005 * t827 * t1407 + 0.3e1 / 0.4e1 * t612 * t989 - 0.3e1 / 0.4e1 * t1321 * t994 + t1404 * t1011 / 0.2e1 + t854 * t152 * t377 / 0.4e1 + t230 * t320 * t377 / 0.4e1 + t644 * t1021 / 0.4e1;
  t1451 = t382 * t648 / 0.2e1 + t172 * t1165 / 0.2e1 - t382 * t651 / 0.2e1 - t172 * t1169 / 0.2e1 - t382 * t654 / 0.2e1 - t172 * t1173 / 0.2e1 - t1010 - t1025 + t1029 + t1053 + t1138 + t338 * t395 * t157 / 0.3e1 + t338 * t175 * t343 / 0.3e1 + t545;
  tv4rho2sigmatau17 = -(t1432 + t1451) * t58 - t660 * t119 / 0.2e1;

  if(out->v4rho2sigmatau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2sigmatau[ip*p->dim.v4rho2sigmatau + 17] += tv4rho2sigmatau17;

  t1480 = -t1111 * t673 * t83 / 0.2e1 + 0.2e1 / 0.3e1 * t300 * t166 * t369 + t748 * t662 * t404 / 0.4e1 + t666 * t929 / 0.2e1 + 0.3e1 / 0.4e1 * t663 * t1076 - 0.3e1 / 0.4e1 * t663 * t1080 - 0.2e1 * t666 * t924 + 0.3e1 / 0.2e1 * t666 * t1073 - t928 + t183 * t162 * t939 / 0.2e1 - 0.3e1 / 0.4e1 * t663 * t1089;
  t1492 = t163 * t203 * t938 - 0.3e1 / 0.2e1 * t666 * t971 - t163 * t290 * t938 + 0.3e1 / 0.2e1 * t666 * t1076 - t163 * t75 * t938 + t666 * t1103 - t943 + t947 + t528 + t967 - t574 + t1120;
  tv4rho2tau20 = -(t1480 + t1492) * t30 - t676 * t88 / 0.2e1;

  if(out->v4rho2tau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2tau2[ip*p->dim.v4rho2tau2 + 0] += tv4rho2tau20;

  tv4rho2tau21 = 0.e0;

  if(out->v4rho2tau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2tau2[ip*p->dim.v4rho2tau2 + 1] += tv4rho2tau21;

  tv4rho2tau22 = 0.e0;

  if(out->v4rho2tau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2tau2[ip*p->dim.v4rho2tau2 + 2] += tv4rho2tau22;

  tv4rho2tau23 = 0.e0;

  if(out->v4rho2tau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2tau2[ip*p->dim.v4rho2tau2 + 3] += tv4rho2tau23;

  tv4rho2tau24 = 0.e0;

  if(out->v4rho2tau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2tau2[ip*p->dim.v4rho2tau2 + 4] += tv4rho2tau24;

  tv4rho2tau25 = 0.e0;

  if(out->v4rho2tau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2tau2[ip*p->dim.v4rho2tau2 + 5] += tv4rho2tau25;

  tv4rho2tau26 = 0.e0;

  if(out->v4rho2tau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2tau2[ip*p->dim.v4rho2tau2 + 6] += tv4rho2tau26;

  tv4rho2tau27 = 0.e0;

  if(out->v4rho2tau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2tau2[ip*p->dim.v4rho2tau2 + 7] += tv4rho2tau27;

  t1519 = -t1129 * t689 * t114 / 0.2e1 + 0.2e1 / 0.3e1 * t338 * t175 * t395 + t1138 + t854 * t678 * t447 / 0.4e1 + t682 * t1011 / 0.2e1 + 0.3e1 / 0.4e1 * t679 * t1144 - 0.3e1 / 0.4e1 * t679 * t1148 - 0.2e1 * t682 * t1001 + 0.3e1 / 0.2e1 * t682 * t1154 - t1010 + t230 * t171 * t1021 / 0.2e1;
  t1533 = -0.3e1 / 0.4e1 * t679 * t1162 + t172 * t250 * t1020 - 0.3e1 / 0.2e1 * t682 * t1057 - t172 * t328 * t1020 + 0.3e1 / 0.2e1 * t682 * t1144 - t172 * t106 * t1020 + t682 * t1175 - t1025 + t1029 + t545 + t1053 - t593;
  tv4rho2tau28 = -(t1519 + t1533) * t58 - t692 * t119 / 0.2e1;

  if(out->v4rho2tau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho2tau2[ip*p->dim.v4rho2tau2 + 8] += tv4rho2tau28;

  t1545 = t30 * t417;
  t1552 = t402 * t184;
  t1553 = t183 * t1552;
  t1554 = t757 * t192;
  t1560 = t61 * t124 * t402;
  t1561 = t203 * t732;
  t1566 = t30 * t402;
  t1570 = t88 * t72;
  t1576 = -t186 * t754 / 0.2e1 + t1207 * t220 - t61 * t124 * t417 * t205 / 0.2e1 + t209 * t212 * t1545 / 0.2e1 + t218 * t219 * t1545 / 0.2e1 + 0.3e1 / 0.4e1 * t1553 * t1554 - t186 * t1214 / 0.4e1 + 0.3e1 / 0.2e1 * t1560 * t1561 - t202 * t781 / 0.2e1 - 0.3e1 / 0.2e1 * t209 * t698 * t1566 + t209 * t212 * t1570 / 0.2e1 - t218 * t793 * t1566;
  t1580 = t698 * t192;
  t1585 = t707 * t192;
  t1588 = t922 * t732;
  t1608 = my_piecewise3(t14, 0.3e1 / 0.2e1 * t280, 0);
  t1618 = t218 * t219 * t1570 / 0.2e1 - 0.3e1 / 0.4e1 * t1553 * t1580 + 0.3e1 / 0.4e1 * t183 * t402 * t702 * t1585 + 0.2e1 * t1560 * t1588 - 0.3e1 / 0.2e1 * t1249 * t721 * t1566 + t1200 * t214 - t1560 * t733 / 0.2e1 - t61 * t197 * t72 * t205 - t748 * t185 * t193 / 0.4e1 - t183 * t417 * t184 * t193 / 0.4e1 - t61 * t1608 * t127 / 0.2e1 - t198 * t224 / 0.2e1 + t125 * t75 * t76 * t442 / 0.8e1;
  tv4rho3lapl0 = t1576 + t1618;

  if(out->v4rho3lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3lapl[ip*p->dim.v4rho3lapl + 0] += tv4rho3lapl0;

  tv4rho3lapl1 = 0.e0;

  if(out->v4rho3lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3lapl[ip*p->dim.v4rho3lapl + 1] += tv4rho3lapl1;

  tv4rho3lapl2 = 0.e0;

  if(out->v4rho3lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3lapl[ip*p->dim.v4rho3lapl + 2] += tv4rho3lapl2;

  tv4rho3lapl3 = 0.e0;

  if(out->v4rho3lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3lapl[ip*p->dim.v4rho3lapl + 3] += tv4rho3lapl3;

  tv4rho3lapl4 = 0.e0;

  if(out->v4rho3lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3lapl[ip*p->dim.v4rho3lapl + 4] += tv4rho3lapl4;

  tv4rho3lapl5 = 0.e0;

  if(out->v4rho3lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3lapl[ip*p->dim.v4rho3lapl + 5] += tv4rho3lapl5;

  tv4rho3lapl6 = 0.e0;

  if(out->v4rho3lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3lapl[ip*p->dim.v4rho3lapl + 6] += tv4rho3lapl6;

  t1620 = t92 * t132 * t445;
  t1640 = t58 * t460;
  t1647 = t445 * t231;
  t1648 = t230 * t1647;
  t1649 = t863 * t239;
  t1654 = t250 * t838;
  t1657 = -t1620 * t839 / 0.2e1 - t92 * t244 * t103 * t252 - t854 * t232 * t240 / 0.4e1 - t230 * t460 * t231 * t240 / 0.4e1 - t233 * t860 / 0.2e1 + t1279 * t267 - t92 * t132 * t460 * t252 / 0.2e1 + t256 * t259 * t1640 / 0.2e1 + t265 * t266 * t1640 / 0.2e1 + 0.3e1 / 0.4e1 * t1648 * t1649 - t233 * t1286 / 0.4e1 + 0.3e1 / 0.2e1 * t1620 * t1654;
  t1660 = t58 * t445;
  t1664 = t119 * t103;
  t1673 = t999 * t838;
  t1679 = t804 * t239;
  t1684 = t813 * t239;
  t1689 = my_piecewise3(t43, 0.3e1 / 0.2e1 * t318, 0);
  t1699 = -t249 * t887 / 0.2e1 - 0.3e1 / 0.2e1 * t256 * t804 * t1660 + t256 * t259 * t1664 / 0.2e1 - t265 * t899 * t1660 + t265 * t266 * t1664 / 0.2e1 + 0.2e1 * t1620 * t1673 - 0.3e1 / 0.2e1 * t1328 * t827 * t1660 - 0.3e1 / 0.4e1 * t1648 * t1679 + 0.3e1 / 0.4e1 * t230 * t445 * t808 * t1684 + t1272 * t261 - t92 * t1689 * t135 / 0.2e1 - t245 * t271 / 0.2e1 + t133 * t106 * t107 * t485 / 0.8e1;
  tv4rho3lapl7 = t1657 + t1699;

  if(out->v4rho3lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3lapl[ip*p->dim.v4rho3lapl + 7] += tv4rho3lapl7;

  t1701 = my_piecewise3(t24, -0.3e1 / 0.2e1 * t412, 0);
  t1704 = t697 * t140;
  t1705 = t275 * t1704;
  t1708 = t402 * t18;
  t1709 = t1708 * t757;
  t1712 = t697 * t402;
  t1713 = t290 * t1712;
  t1716 = t75 * t1712;
  t1718 = t190 * t417;
  t1719 = t290 * t1718;
  t1722 = t75 * t1718;
  t1725 = t748 * t72;
  t1728 = t183 * t417;
  t1734 = -0.2e1 / 0.3e1 * t81 * t1701 - 0.3e1 / 0.4e1 * t403 * t1705 - 0.3e1 / 0.2e1 * t141 * t1709 + 0.3e1 / 0.2e1 * t141 * t1713 + t141 * t1716 - t141 * t1719 / 0.2e1 - t141 * t1722 / 0.2e1 + t1725 * t277 / 0.4e1 + t1728 * t277 / 0.4e1 + t274 * t1086 / 0.2e1 - t283 * t295;
  t1736 = t417 * t18 * t191;
  t1750 = my_piecewise3(t14, 0.3e1 / 0.2e1 * t412 * t12, 0);
  t1755 = t290 * t1704;
  t1758 = t1079 * t1704;
  t1761 = t1552 * t707;
  t1764 = t1072 * t1712;
  t1768 = t1708 * t698;
  t1771 = t141 * t1736 / 0.2e1 - t1111 * t145 * t431 / 0.2e1 + 0.2e1 / 0.3e1 * t300 * t305 * t83 + t300 * t145 * t435 / 0.3e1 + t61 * t1750 * t77 / 0.2e1 + t283 * t287 + 0.3e1 / 0.4e1 * t403 * t1755 - 0.3e1 / 0.4e1 * t403 * t1758 - 0.2e1 * t141 * t1761 + 0.3e1 / 0.2e1 * t141 * t1764 - t283 * t292 + t141 * t1768 / 0.2e1;
  tv4rho3sigma0 = -(t1734 + t1771) * t30 - t308 * t88 + t148 * t442 / 0.4e1;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 0] += tv4rho3sigma0;

  tv4rho3sigma1 = 0.e0;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 1] += tv4rho3sigma1;

  tv4rho3sigma2 = 0.e0;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 2] += tv4rho3sigma2;

  tv4rho3sigma3 = 0.e0;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 3] += tv4rho3sigma3;

  tv4rho3sigma4 = 0.e0;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 4] += tv4rho3sigma4;

  tv4rho3sigma5 = 0.e0;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 5] += tv4rho3sigma5;

  tv4rho3sigma6 = 0.e0;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 6] += tv4rho3sigma6;

  tv4rho3sigma7 = 0.e0;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 7] += tv4rho3sigma7;

  tv4rho3sigma8 = 0.e0;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 8] += tv4rho3sigma8;

  tv4rho3sigma9 = 0.e0;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 9] += tv4rho3sigma9;

  tv4rho3sigma10 = 0.e0;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 10] += tv4rho3sigma10;

  t1779 = my_piecewise3(t43, 0.3e1 / 0.2e1 * t455 * t12, 0);
  t1784 = my_piecewise3(t52, -0.3e1 / 0.2e1 * t455, 0);
  t1787 = t803 * t445;
  t1788 = t328 * t1787;
  t1791 = t106 * t1787;
  t1793 = t803 * t152;
  t1794 = t313 * t1793;
  t1797 = t445 * t46;
  t1798 = t1797 * t863;
  t1802 = t460 * t46 * t238;
  t1805 = t237 * t460;
  t1806 = t328 * t1805;
  t1809 = t106 * t1805;
  t1812 = t854 * t103;
  t1815 = t230 * t460;
  t1818 = t92 * t1779 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t1784 + 0.3e1 / 0.2e1 * t153 * t1788 + t153 * t1791 - 0.3e1 / 0.4e1 * t446 * t1794 - 0.3e1 / 0.2e1 * t153 * t1798 + t153 * t1802 / 0.2e1 - t153 * t1806 / 0.2e1 - t153 * t1809 / 0.2e1 + t1812 * t315 / 0.4e1 + t1815 * t315 / 0.4e1;
  t1832 = t328 * t1793;
  t1835 = t1147 * t1793;
  t1838 = t1647 * t813;
  t1841 = t1153 * t1787;
  t1845 = t1797 * t804;
  t1848 = t312 * t1158 / 0.2e1 - t321 * t333 - t1129 * t157 * t474 / 0.2e1 + 0.2e1 / 0.3e1 * t338 * t343 * t114 + t338 * t157 * t478 / 0.3e1 + t321 * t325 + 0.3e1 / 0.4e1 * t446 * t1832 - 0.3e1 / 0.4e1 * t446 * t1835 - 0.2e1 * t153 * t1838 + 0.3e1 / 0.2e1 * t153 * t1841 - t321 * t330 + t153 * t1845 / 0.2e1;
  tv4rho3sigma11 = -(t1818 + t1848) * t58 - t346 * t119 + t160 * t485 / 0.4e1;

  if(out->v4rho3sigma != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3sigma[ip*p->dim.v4rho3sigma + 11] += tv4rho3sigma11;

  t1855 = my_piecewise3(t14, -0.6e1 * t280, 0);
  t1860 = my_piecewise3(t24, 0.6e1 * t67, 0);
  t1863 = t697 * t162;
  t1864 = t275 * t1863;
  t1881 = t61 * t1855 * t77 / 0.2e1 - 0.2e1 / 0.3e1 * t81 * t1860 - 0.3e1 / 0.4e1 * t403 * t1864 - 0.3e1 / 0.2e1 * t163 * t1709 + 0.3e1 / 0.2e1 * t163 * t1713 + t163 * t1716 + t1725 * t351 / 0.4e1 + t1728 * t351 / 0.4e1 + t274 * t939 / 0.2e1 - t356 * t295 + t163 * t1736 / 0.2e1;
  t1896 = t290 * t1863;
  t1899 = t1079 * t1863;
  t1909 = -t163 * t1719 / 0.2e1 - t163 * t1722 / 0.2e1 - t1111 * t166 * t431 / 0.2e1 + 0.2e1 / 0.3e1 * t300 * t369 * t83 + t300 * t166 * t435 / 0.3e1 + t356 * t287 + 0.3e1 / 0.4e1 * t403 * t1896 - 0.3e1 / 0.4e1 * t403 * t1899 - 0.2e1 * t163 * t1761 + 0.3e1 / 0.2e1 * t163 * t1764 - t356 * t292 + t163 * t1768 / 0.2e1;
  tv4rho3tau0 = -(t1881 + t1909) * t30 - t372 * t88 + t169 * t442 / 0.4e1;

  if(out->v4rho3tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3tau[ip*p->dim.v4rho3tau + 0] += tv4rho3tau0;

  tv4rho3tau1 = 0.e0;

  if(out->v4rho3tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3tau[ip*p->dim.v4rho3tau + 1] += tv4rho3tau1;

  tv4rho3tau2 = 0.e0;

  if(out->v4rho3tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3tau[ip*p->dim.v4rho3tau + 2] += tv4rho3tau2;

  tv4rho3tau3 = 0.e0;

  if(out->v4rho3tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3tau[ip*p->dim.v4rho3tau + 3] += tv4rho3tau3;

  tv4rho3tau4 = 0.e0;

  if(out->v4rho3tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3tau[ip*p->dim.v4rho3tau + 4] += tv4rho3tau4;

  tv4rho3tau5 = 0.e0;

  if(out->v4rho3tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3tau[ip*p->dim.v4rho3tau + 5] += tv4rho3tau5;

  tv4rho3tau6 = 0.e0;

  if(out->v4rho3tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3tau[ip*p->dim.v4rho3tau + 6] += tv4rho3tau6;

  t1916 = my_piecewise3(t43, -0.6e1 * t318, 0);
  t1921 = my_piecewise3(t52, 0.6e1 * t98, 0);
  t1924 = t803 * t171;
  t1925 = t313 * t1924;
  t1942 = t92 * t1916 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t1921 - 0.3e1 / 0.4e1 * t446 * t1925 - 0.3e1 / 0.2e1 * t172 * t1798 + 0.3e1 / 0.2e1 * t172 * t1788 + t172 * t1791 - t172 * t1809 / 0.2e1 + t1812 * t377 / 0.4e1 + t1815 * t377 / 0.4e1 + t312 * t1021 / 0.2e1 - t382 * t333;
  t1957 = t328 * t1924;
  t1960 = t1147 * t1924;
  t1970 = t172 * t1802 / 0.2e1 - t172 * t1806 / 0.2e1 - t1129 * t175 * t474 / 0.2e1 + 0.2e1 / 0.3e1 * t338 * t395 * t114 + t338 * t175 * t478 / 0.3e1 + t382 * t325 + 0.3e1 / 0.4e1 * t446 * t1957 - 0.3e1 / 0.4e1 * t446 * t1960 - 0.2e1 * t172 * t1838 + 0.3e1 / 0.2e1 * t172 * t1841 - t382 * t330 + t172 * t1845 / 0.2e1;
  tv4rho3tau7 = -(t1942 + t1970) * t58 - t398 * t119 + t178 * t485 / 0.4e1;

  if(out->v4rho3tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho3tau[ip*p->dim.v4rho3tau + 7] += tv4rho3tau7;

  t1979 = 0.24e2 * tau[0] * t412;
  t1983 = 0.15e2 / 0.2e1 * sigma[0] / t66 / t2;
  t1986 = my_piecewise3(t14, (-0.6e1 * lapl[0] * t412 + t1979 - t1983) * t12, 0);
  t1994 = my_piecewise3(t24, -t1979 + t1983, 0);
  t1997 = t402 * t72;
  t1998 = t61 * t1997;
  t1999 = t290 * t697;
  t2002 = t75 * t697;
  t2007 = t183 * t1997;
  t2008 = t275 * t697;
  t2013 = t203 * t697;
  t2023 = t731 * t697;
  t2026 = t922 * t697;
  t2029 = t1072 * t697;
  t2034 = t1079 * t697;
  t2039 = t61 * t1986 * t77 / 0.2e1 + t748 * t402 * t404 / 0.4e1 - 0.2e1 / 0.3e1 * t81 * t1994 + 0.3e1 / 0.2e1 * t1998 * t1999 + t1998 * t2002 + 0.3e1 / 0.4e1 * t274 * t275 * t1718 - 0.3e1 / 0.4e1 * t2007 * t2008 - 0.3e1 / 0.2e1 * t418 * t295 - 0.3e1 / 0.2e1 * t1998 * t2013 - t1111 * t431 * t83 / 0.2e1 + t300 * t83 * t435 + 0.3e1 / 0.2e1 * t418 * t287 + t1998 * t2023 / 0.2e1 - 0.2e1 * t1998 * t2026 + 0.3e1 / 0.2e1 * t1998 * t2029 + 0.3e1 / 0.4e1 * t2007 * t1999 - 0.3e1 / 0.4e1 * t2007 * t2034 - 0.3e1 / 0.2e1 * t418 * t292;
  tv4rho40 = -t2039 * t30 - 0.3e1 / 0.2e1 * t438 * t88 + 0.3e1 / 0.4e1 * t86 * t442 - 0.3e1 / 0.8e1 * t29 / t30 / t2;

  if(out->v4rho4 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho4[ip*p->dim.v4rho4 + 0] += tv4rho40;

  tv4rho41 = 0.e0;

  if(out->v4rho4 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho4[ip*p->dim.v4rho4 + 1] += tv4rho41;

  tv4rho42 = 0.e0;

  if(out->v4rho4 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho4[ip*p->dim.v4rho4 + 2] += tv4rho42;

  tv4rho43 = 0.e0;

  if(out->v4rho4 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho4[ip*p->dim.v4rho4 + 3] += tv4rho43;

  t2055 = 0.24e2 * tau[1] * t455;
  t2059 = 0.15e2 / 0.2e1 * sigma[2] / t97 / t32;
  t2062 = my_piecewise3(t43, (-0.6e1 * lapl[1] * t455 + t2055 - t2059) * t12, 0);
  t2067 = my_piecewise3(t52, -t2055 + t2059, 0);
  t2070 = t445 * t103;
  t2071 = t92 * t2070;
  t2072 = t328 * t803;
  t2075 = t106 * t803;
  t2080 = t230 * t2070;
  t2081 = t313 * t803;
  t2086 = t250 * t803;
  t2096 = t837 * t803;
  t2101 = t1147 * t803;
  t2106 = t999 * t803;
  t2109 = t1153 * t803;
  t2112 = t854 * t445 * t447 / 0.4e1 + t92 * t2062 * t108 / 0.2e1 - 0.2e1 / 0.3e1 * t112 * t2067 + 0.3e1 / 0.2e1 * t2071 * t2072 + t2071 * t2075 + 0.3e1 / 0.4e1 * t312 * t313 * t1805 - 0.3e1 / 0.4e1 * t2080 * t2081 - 0.3e1 / 0.2e1 * t461 * t333 - 0.3e1 / 0.2e1 * t2071 * t2086 - t1129 * t474 * t114 / 0.2e1 + t338 * t114 * t478 + 0.3e1 / 0.2e1 * t461 * t325 + t2071 * t2096 / 0.2e1 + 0.3e1 / 0.4e1 * t2080 * t2072 - 0.3e1 / 0.4e1 * t2080 * t2101 - 0.3e1 / 0.2e1 * t461 * t330 - 0.2e1 * t2071 * t2106 + 0.3e1 / 0.2e1 * t2071 * t2109;
  tv4rho44 = -t2112 * t58 - 0.3e1 / 0.2e1 * t481 * t119 + 0.3e1 / 0.4e1 * t117 * t485 - 0.3e1 / 0.8e1 * t57 / t58 / t32;

  if(out->v4rho4 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rho4[ip*p->dim.v4rho4 + 4] += tv4rho44;

  t2127 = t697 * t488;
  t2134 = t163 * t290 * t944;
  t2135 = t2134 / 0.2e1;
  t2137 = t163 * t75 * t944;
  t2138 = t2137 / 0.2e1;
  t2147 = M_PI * (t60 * t124 * t77 / 0.2e1 + t740 * t124 * t77 / 0.2e1 - t743 * t124 * t77 / 0.2e1);
  t2152 = t183 * t493 * t351;
  t2153 = t2152 / 0.4e1;
  t2154 = t524 * t945;
  t2156 = t494 * t536;
  t2158 = t163 * t766 * t191;
  t2159 = t2158 / 0.2e1;
  t2160 = t494 * t529;
  t2171 = t494 * t533;
  t2175 = -0.3e1 / 0.4e1 * t489 * t1864 - 0.3e1 / 0.2e1 * t163 * t777 * t757 + 0.3e1 / 0.2e1 * t163 * t290 * t2127 + t163 * t75 * t2127 - t2135 - t2138 + t2147 * t124 * t351 / 0.4e1 + t2153 + t2154 / 0.2e1 - t2156 + t2159 + t2160 + 0.3e1 / 0.4e1 * t489 * t1896 - 0.3e1 / 0.4e1 * t489 * t1899 - 0.2e1 * t163 * t694 * t707 + 0.3e1 / 0.2e1 * t163 * t1072 * t2127 - t2171 + t163 * t777 * t698 / 0.2e1 + t528;
  tv4rholapl2tau0 = -t2175 * t30;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 0] += tv4rholapl2tau0;

  tv4rholapl2tau1 = 0.e0;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 1] += tv4rholapl2tau1;

  tv4rholapl2tau2 = 0.e0;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 2] += tv4rholapl2tau2;

  tv4rholapl2tau3 = 0.e0;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 3] += tv4rholapl2tau3;

  tv4rholapl2tau4 = 0.e0;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 4] += tv4rholapl2tau4;

  tv4rholapl2tau5 = 0.e0;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 5] += tv4rholapl2tau5;

  tv4rholapl2tau6 = 0.e0;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 6] += tv4rholapl2tau6;

  tv4rholapl2tau7 = 0.e0;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 7] += tv4rholapl2tau7;

  tv4rholapl2tau8 = 0.e0;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 8] += tv4rholapl2tau8;

  tv4rholapl2tau9 = 0.e0;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 9] += tv4rholapl2tau9;

  tv4rholapl2tau10 = 0.e0;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 10] += tv4rholapl2tau10;

  t2182 = t803 * t506;
  t2188 = t541 * t1027;
  t2190 = t512 * t553;
  t2192 = t172 * t872 * t238;
  t2193 = t2192 / 0.2e1;
  t2195 = t172 * t328 * t1026;
  t2196 = t2195 / 0.2e1;
  t2198 = t172 * t106 * t1026;
  t2199 = t2198 / 0.2e1;
  t2208 = M_PI * (t846 * t132 * t108 / 0.2e1 - t849 * t132 * t108 / 0.2e1 + t91 * t132 * t108 / 0.2e1);
  t2213 = t230 * t511 * t377;
  t2214 = t2213 / 0.4e1;
  t2215 = t512 * t546;
  t2226 = t512 * t550;
  t2230 = -0.3e1 / 0.4e1 * t507 * t1925 - 0.3e1 / 0.2e1 * t172 * t883 * t863 + 0.3e1 / 0.2e1 * t172 * t328 * t2182 + t172 * t106 * t2182 + t2188 / 0.2e1 - t2190 + t2193 - t2196 - t2199 + t2208 * t132 * t377 / 0.4e1 + t2214 + t2215 + 0.3e1 / 0.2e1 * t172 * t1153 * t2182 + 0.3e1 / 0.4e1 * t507 * t1957 - 0.3e1 / 0.4e1 * t507 * t1960 - 0.2e1 * t172 * t800 * t813 - t2226 + t172 * t883 * t804 / 0.2e1 + t545;
  tv4rholapl2tau11 = -t2230 * t58;

  if(out->v4rholapl2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl2tau[ip*p->dim.v4rholapl2tau + 11] += tv4rholapl2tau11;

  t2232 = t752 * t773;
  t2234 = t488 * t124;
  t2235 = t183 * t2234;
  t2240 = t767 * t219 * t192;
  t2242 = t61 * t2234;
  t2245 = t290 * t732;
  t2259 = t712 * t212 * t192;
  t2268 = t61 * t493 * t124 * t205;
  tv4rholapl30 = -0.3e1 / 0.4e1 * t2232 + 0.3e1 / 0.4e1 * t2235 * t275 * t732 + 0.3e1 / 0.2e1 * t2240 + 0.3e1 / 0.2e1 * t2242 * t1561 - 0.3e1 / 0.2e1 * t2242 * t2245 - t2242 * t75 * t732 - t2147 * t488 * t490 / 0.4e1 - 0.3e1 / 0.4e1 * t2235 * t2245 + 0.3e1 / 0.4e1 * t2235 * t1079 * t732 + 0.3e1 / 0.2e1 * t2259 + 0.2e1 * t2242 * t1588 - 0.3e1 / 0.2e1 * t2242 * t1072 * t732 - 0.3e1 / 0.2e1 * t2268 - t2242 * t733 / 0.2e1 - t496;

  if(out->v4rholapl3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl3[ip*p->dim.v4rholapl3 + 0] += tv4rholapl30;

  tv4rholapl31 = 0.e0;

  if(out->v4rholapl3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl3[ip*p->dim.v4rholapl3 + 1] += tv4rholapl31;

  tv4rholapl32 = 0.e0;

  if(out->v4rholapl3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl3[ip*p->dim.v4rholapl3 + 2] += tv4rholapl32;

  tv4rholapl33 = 0.e0;

  if(out->v4rholapl3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl3[ip*p->dim.v4rholapl3 + 3] += tv4rholapl33;

  tv4rholapl34 = 0.e0;

  if(out->v4rholapl3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl3[ip*p->dim.v4rholapl3 + 4] += tv4rholapl34;

  tv4rholapl35 = 0.e0;

  if(out->v4rholapl3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl3[ip*p->dim.v4rholapl3 + 5] += tv4rholapl35;

  tv4rholapl36 = 0.e0;

  if(out->v4rholapl3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl3[ip*p->dim.v4rholapl3 + 6] += tv4rholapl36;

  t2272 = t506 * t132;
  t2273 = t92 * t2272;
  t2276 = t858 * t879;
  t2278 = t230 * t2272;
  t2283 = t873 * t266 * t239;
  t2287 = t328 * t838;
  t2299 = t818 * t259 * t239;
  t2308 = t92 * t511 * t132 * t252;
  tv4rholapl37 = -t2273 * t106 * t838 - 0.3e1 / 0.4e1 * t2276 + 0.3e1 / 0.4e1 * t2278 * t313 * t838 + 0.3e1 / 0.2e1 * t2283 + 0.3e1 / 0.2e1 * t2273 * t1654 - 0.3e1 / 0.2e1 * t2273 * t2287 - t2208 * t506 * t508 / 0.4e1 - 0.3e1 / 0.4e1 * t2278 * t2287 + 0.3e1 / 0.4e1 * t2278 * t1147 * t838 + 0.3e1 / 0.2e1 * t2299 + 0.2e1 * t2273 * t1673 - 0.3e1 / 0.2e1 * t2273 * t1153 * t838 - 0.3e1 / 0.2e1 * t2308 - t2273 * t839 / 0.2e1 - t514;

  if(out->v4rholapl3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapl3[ip*p->dim.v4rholapl3 + 7] += tv4rholapl37;

  t2315 = t697 * t124;
  t2322 = t290 * t2315;
  t2327 = t2152 / 0.2e1;
  t2328 = t2154 / 0.4e1;
  t2329 = t2156 / 0.2e1;
  t2330 = t2160 / 0.2e1;
  t2345 = t2171 / 0.2e1;
  t2346 = t2147 * t662 * t404 / 0.4e1 - 0.3e1 / 0.4e1 * t663 * t275 * t2315 - 0.3e1 / 0.2e1 * t666 * t203 * t2315 + 0.3e1 / 0.2e1 * t666 * t2322 + t666 * t75 * t2315 - t2134 - t2137 + t2327 + t2328 - t2329 + t2158 + t2330 + t666 * t217 * t698 / 0.2e1 + 0.3e1 / 0.4e1 * t663 * t2322 - 0.3e1 / 0.4e1 * t663 * t1079 * t2315 - 0.2e1 * t666 * t922 * t2315 + 0.3e1 / 0.2e1 * t666 * t1072 * t2315 - t2345 + t528;
  tv4rholapltau20 = -t2346 * t30;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 0] += tv4rholapltau20;

  tv4rholapltau21 = 0.e0;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 1] += tv4rholapltau21;

  tv4rholapltau22 = 0.e0;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 2] += tv4rholapltau22;

  tv4rholapltau23 = 0.e0;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 3] += tv4rholapltau23;

  tv4rholapltau24 = 0.e0;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 4] += tv4rholapltau24;

  tv4rholapltau25 = 0.e0;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 5] += tv4rholapltau25;

  tv4rholapltau26 = 0.e0;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 6] += tv4rholapltau26;

  tv4rholapltau27 = 0.e0;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 7] += tv4rholapltau27;

  tv4rholapltau28 = 0.e0;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 8] += tv4rholapltau28;

  tv4rholapltau29 = 0.e0;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 9] += tv4rholapltau29;

  tv4rholapltau210 = 0.e0;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 10] += tv4rholapltau210;

  t2351 = t803 * t132;
  t2360 = t328 * t2351;
  t2363 = t2188 / 0.4e1;
  t2364 = t2190 / 0.2e1;
  t2365 = t2213 / 0.2e1;
  t2369 = t2215 / 0.2e1;
  t2381 = t2226 / 0.2e1;
  t2382 = t2208 * t678 * t447 / 0.4e1 + t682 * t106 * t2351 - 0.3e1 / 0.4e1 * t679 * t313 * t2351 - 0.3e1 / 0.2e1 * t682 * t250 * t2351 + 0.3e1 / 0.2e1 * t682 * t2360 + t2363 - t2364 + t2192 - t2195 - t2198 + t2365 + t682 * t264 * t804 / 0.2e1 + t2369 + 0.3e1 / 0.2e1 * t682 * t1153 * t2351 + 0.3e1 / 0.4e1 * t679 * t2360 - 0.3e1 / 0.4e1 * t679 * t1147 * t2351 - 0.2e1 * t682 * t999 * t2351 - t2381 + t545;
  tv4rholapltau211 = -t2382 * t58;

  if(out->v4rholapltau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rholapltau2[ip*p->dim.v4rholapltau2 + 11] += tv4rholapltau211;

  t2392 = M_PI * (t60 * t140 * t77 / 0.2e1 + t740 * t140 * t77 / 0.2e1 - t743 * t140 * t77 / 0.2e1);
  t2396 = t597 * t773;
  t2398 = t767 * t608;
  t2401 = t558 * t184;
  t2402 = t183 * t2401;
  t2406 = t61 * t124 * t558;
  t2409 = t30 * t558;
  t2426 = t712 * t605;
  t2432 = t61 * t493 * t140 * t205;
  tv4rhosigma2lapl0 = -t2392 * t596 * t193 / 0.4e1 - t2396 / 0.2e1 + t2398 - t2232 / 0.4e1 + t2240 / 0.2e1 + 0.3e1 / 0.4e1 * t2402 * t1554 + 0.3e1 / 0.2e1 * t2406 * t1561 - 0.3e1 / 0.2e1 * t209 * t698 * t2409 - t218 * t793 * t2409 - 0.3e1 / 0.2e1 * t1249 * t721 * t2409 - 0.3e1 / 0.4e1 * t2402 * t1580 + 0.3e1 / 0.4e1 * t183 * t558 * t702 * t1585 + 0.2e1 * t2406 * t1588 + t2426 - t2406 * t733 / 0.2e1 + t2259 / 0.2e1 - t2432 - t2268 / 0.2e1 - t496;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 0] += tv4rhosigma2lapl0;

  tv4rhosigma2lapl1 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 1] += tv4rhosigma2lapl1;

  tv4rhosigma2lapl2 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 2] += tv4rhosigma2lapl2;

  tv4rhosigma2lapl3 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 3] += tv4rhosigma2lapl3;

  tv4rhosigma2lapl4 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 4] += tv4rhosigma2lapl4;

  tv4rhosigma2lapl5 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 5] += tv4rhosigma2lapl5;

  tv4rhosigma2lapl6 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 6] += tv4rhosigma2lapl6;

  tv4rhosigma2lapl7 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 7] += tv4rhosigma2lapl7;

  tv4rhosigma2lapl8 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 8] += tv4rhosigma2lapl8;

  tv4rhosigma2lapl9 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 9] += tv4rhosigma2lapl9;

  tv4rhosigma2lapl10 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 10] += tv4rhosigma2lapl10;

  tv4rhosigma2lapl11 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 11] += tv4rhosigma2lapl11;

  tv4rhosigma2lapl12 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 12] += tv4rhosigma2lapl12;

  tv4rhosigma2lapl13 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 13] += tv4rhosigma2lapl13;

  tv4rhosigma2lapl14 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 14] += tv4rhosigma2lapl14;

  tv4rhosigma2lapl15 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 15] += tv4rhosigma2lapl15;

  tv4rhosigma2lapl16 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 16] += tv4rhosigma2lapl16;

  tv4rhosigma2lapl17 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 17] += tv4rhosigma2lapl17;

  tv4rhosigma2lapl18 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 18] += tv4rhosigma2lapl18;

  tv4rhosigma2lapl19 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 19] += tv4rhosigma2lapl19;

  tv4rhosigma2lapl20 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 20] += tv4rhosigma2lapl20;

  tv4rhosigma2lapl21 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 21] += tv4rhosigma2lapl21;

  tv4rhosigma2lapl22 = 0.e0;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 22] += tv4rhosigma2lapl22;

  t2442 = M_PI * (t846 * t152 * t108 / 0.2e1 - t849 * t152 * t108 / 0.2e1 + t91 * t152 * t108 / 0.2e1);
  t2446 = t612 * t879;
  t2448 = t873 * t623;
  t2451 = t58 * t577;
  t2457 = t577 * t231;
  t2458 = t230 * t2457;
  t2462 = t92 * t132 * t577;
  t2476 = t818 * t620;
  t2482 = t92 * t511 * t152 * t252;
  tv4rhosigma2lapl23 = -t2442 * t611 * t240 / 0.4e1 - t2446 / 0.2e1 + t2448 - t2276 / 0.4e1 + t2283 / 0.2e1 - 0.3e1 / 0.2e1 * t256 * t804 * t2451 - t265 * t899 * t2451 + 0.3e1 / 0.4e1 * t2458 * t1649 + 0.3e1 / 0.2e1 * t2462 * t1654 - 0.3e1 / 0.4e1 * t2458 * t1679 + 0.3e1 / 0.4e1 * t230 * t577 * t808 * t1684 + 0.2e1 * t2462 * t1673 - 0.3e1 / 0.2e1 * t1328 * t827 * t2451 + t2476 - t2462 * t839 / 0.2e1 + t2299 / 0.2e1 - t2482 - t2308 / 0.2e1 - t514;

  if(out->v4rhosigma2lapl != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2lapl[ip*p->dim.v4rhosigma2lapl + 23] += tv4rhosigma2lapl23;

  t2487 = t626 * t945;
  t2489 = t494 * t636;
  t2491 = t300 * t572 * t145;
  t2494 = t300 * t166 * t572;
  t2498 = t558 * t18;
  t2502 = t697 * t558;
  t2508 = t2392 * t140 * t351 / 0.4e1 + t2487 / 0.2e1 - t2489 + 0.2e1 / 0.3e1 * t2491 + t2494 / 0.3e1 - 0.3e1 / 0.4e1 * t559 * t1864 - 0.3e1 / 0.2e1 * t163 * t2498 * t757 + 0.3e1 / 0.2e1 * t163 * t290 * t2502 + t163 * t75 * t2502 - t2135 - t2138;
  t2512 = t494 * t630;
  t2523 = t494 * t633;
  t2527 = t2153 + t2159 - t1111 * t166 * t569 / 0.2e1 + t2512 - 0.3e1 / 0.4e1 * t559 * t1899 - 0.2e1 * t163 * t2401 * t707 + 0.3e1 / 0.2e1 * t163 * t1072 * t2502 + 0.3e1 / 0.4e1 * t559 * t1896 - t2523 + t163 * t2498 * t698 / 0.2e1 + t528 - t574;
  tv4rhosigma2tau0 = -(t2508 + t2527) * t30;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 0] += tv4rhosigma2tau0;

  tv4rhosigma2tau1 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 1] += tv4rhosigma2tau1;

  tv4rhosigma2tau2 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 2] += tv4rhosigma2tau2;

  tv4rhosigma2tau3 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 3] += tv4rhosigma2tau3;

  tv4rhosigma2tau4 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 4] += tv4rhosigma2tau4;

  tv4rhosigma2tau5 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 5] += tv4rhosigma2tau5;

  tv4rhosigma2tau6 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 6] += tv4rhosigma2tau6;

  tv4rhosigma2tau7 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 7] += tv4rhosigma2tau7;

  tv4rhosigma2tau8 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 8] += tv4rhosigma2tau8;

  tv4rhosigma2tau9 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 9] += tv4rhosigma2tau9;

  tv4rhosigma2tau10 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 10] += tv4rhosigma2tau10;

  tv4rhosigma2tau11 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 11] += tv4rhosigma2tau11;

  tv4rhosigma2tau12 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 12] += tv4rhosigma2tau12;

  tv4rhosigma2tau13 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 13] += tv4rhosigma2tau13;

  tv4rhosigma2tau14 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 14] += tv4rhosigma2tau14;

  tv4rhosigma2tau15 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 15] += tv4rhosigma2tau15;

  tv4rhosigma2tau16 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 16] += tv4rhosigma2tau16;

  tv4rhosigma2tau17 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 17] += tv4rhosigma2tau17;

  tv4rhosigma2tau18 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 18] += tv4rhosigma2tau18;

  tv4rhosigma2tau19 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 19] += tv4rhosigma2tau19;

  tv4rhosigma2tau20 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 20] += tv4rhosigma2tau20;

  tv4rhosigma2tau21 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 21] += tv4rhosigma2tau21;

  tv4rhosigma2tau22 = 0.e0;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 22] += tv4rhosigma2tau22;

  t2533 = t512 * t654;
  t2537 = t644 * t1027;
  t2540 = t338 * t591 * t157;
  t2543 = t338 * t175 * t591;
  t2545 = t803 * t577;
  t2550 = t577 * t46;
  t2557 = -t1129 * t175 * t588 / 0.2e1 - t2533 + t2442 * t152 * t377 / 0.4e1 + t2537 / 0.2e1 + 0.2e1 / 0.3e1 * t2540 + t2543 / 0.3e1 + t172 * t106 * t2545 - 0.3e1 / 0.4e1 * t578 * t1925 - 0.3e1 / 0.2e1 * t172 * t2550 * t863 + 0.3e1 / 0.2e1 * t172 * t328 * t2545 + t2193;
  t2558 = t512 * t648;
  t2569 = t512 * t651;
  t2573 = -t2196 - t2199 + t2214 + t2558 + 0.3e1 / 0.4e1 * t578 * t1957 - 0.3e1 / 0.4e1 * t578 * t1960 - 0.2e1 * t172 * t2457 * t813 + 0.3e1 / 0.2e1 * t172 * t1153 * t2545 - t2569 + t172 * t2550 * t804 / 0.2e1 + t545 - t593;
  tv4rhosigma2tau23 = -(t2557 + t2573) * t58;

  if(out->v4rhosigma2tau != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma2tau[ip*p->dim.v4rhosigma2tau + 23] += tv4rhosigma2tau23;

  t2576 = t558 * t140;
  t2577 = t183 * t2576;
  t2580 = t61 * t2576;
  t2606 = -0.3e1 / 0.4e1 * t2577 * t2008 - 0.3e1 / 0.2e1 * t2580 * t2013 + 0.3e1 / 0.2e1 * t2580 * t1999 + t2580 * t2002 + 0.3e1 / 0.4e1 * t2487 - 0.3e1 / 0.2e1 * t2489 + t2392 * t558 * t404 / 0.4e1 - t1111 * t569 * t145 / 0.2e1 + t2491 + 0.3e1 / 0.2e1 * t2512 + t2580 * t2023 / 0.2e1 + 0.3e1 / 0.2e1 * t2580 * t2029 - 0.3e1 / 0.2e1 * t2523 + 0.3e1 / 0.4e1 * t2577 * t1999 - 0.3e1 / 0.4e1 * t2577 * t2034 - 0.2e1 * t2580 * t2026 + t528 - t574;
  tv4rhosigma30 = -t2606 * t30;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 0] += tv4rhosigma30;

  tv4rhosigma31 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 1] += tv4rhosigma31;

  tv4rhosigma32 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 2] += tv4rhosigma32;

  tv4rhosigma33 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 3] += tv4rhosigma33;

  tv4rhosigma34 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 4] += tv4rhosigma34;

  tv4rhosigma35 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 5] += tv4rhosigma35;

  tv4rhosigma36 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 6] += tv4rhosigma36;

  tv4rhosigma37 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 7] += tv4rhosigma37;

  tv4rhosigma38 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 8] += tv4rhosigma38;

  tv4rhosigma39 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 9] += tv4rhosigma39;

  tv4rhosigma310 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 10] += tv4rhosigma310;

  tv4rhosigma311 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 11] += tv4rhosigma311;

  tv4rhosigma312 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 12] += tv4rhosigma312;

  tv4rhosigma313 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 13] += tv4rhosigma313;

  tv4rhosigma314 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 14] += tv4rhosigma314;

  tv4rhosigma315 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 15] += tv4rhosigma315;

  tv4rhosigma316 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 16] += tv4rhosigma316;

  tv4rhosigma317 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 17] += tv4rhosigma317;

  tv4rhosigma318 = 0.e0;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 18] += tv4rhosigma318;

  t2608 = t577 * t152;
  t2609 = t230 * t2608;
  t2612 = t92 * t2608;
  t2638 = -0.3e1 / 0.4e1 * t2609 * t2081 - 0.3e1 / 0.2e1 * t2612 * t2086 + 0.3e1 / 0.2e1 * t2612 * t2072 + t2612 * t2075 - 0.3e1 / 0.2e1 * t2533 + 0.3e1 / 0.4e1 * t2537 + t2442 * t577 * t447 / 0.4e1 - t1129 * t588 * t157 / 0.2e1 + t2540 + 0.3e1 / 0.2e1 * t2558 + t2612 * t2096 / 0.2e1 + 0.3e1 / 0.4e1 * t2609 * t2072 - 0.3e1 / 0.4e1 * t2609 * t2101 - 0.2e1 * t2612 * t2106 + 0.3e1 / 0.2e1 * t2612 * t2109 - 0.3e1 / 0.2e1 * t2569 + t545 - t593;
  tv4rhosigma319 = -t2638 * t58;

  if(out->v4rhosigma3 != NULL && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigma3[ip*p->dim.v4rhosigma3 + 19] += tv4rhosigma319;

  t2645 = t757 * t604;
  t2650 = t698 * t604;
  t2658 = t707 * t604;
  tv4rhosigmalapl20 = -t2392 * t488 * t490 / 0.4e1 - t778 * t793 * t604 + 0.3e1 / 0.4e1 * t695 * t2645 + 0.3e1 / 0.2e1 * t778 * t2645 - 0.3e1 / 0.2e1 * t715 * t2650 - t2396 / 0.4e1 + t2398 / 0.2e1 - t2232 / 0.2e1 + t2240 - 0.3e1 / 0.4e1 * t695 * t2650 + 0.3e1 / 0.4e1 * t704 * t2658 + 0.2e1 * t715 * t2658 - 0.3e1 / 0.2e1 * t718 * t721 * t604 + t2426 / 0.2e1 + t2259 - t61 * t488 * t140 * t733 / 0.2e1 - t2432 / 0.2e1 - t2268 - t496;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 0] += tv4rhosigmalapl20;

  tv4rhosigmalapl21 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 1] += tv4rhosigmalapl21;

  tv4rhosigmalapl22 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 2] += tv4rhosigmalapl22;

  tv4rhosigmalapl23 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 3] += tv4rhosigmalapl23;

  tv4rhosigmalapl24 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 4] += tv4rhosigmalapl24;

  tv4rhosigmalapl25 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 5] += tv4rhosigmalapl25;

  tv4rhosigmalapl26 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 6] += tv4rhosigmalapl26;

  tv4rhosigmalapl27 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 7] += tv4rhosigmalapl27;

  tv4rhosigmalapl28 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 8] += tv4rhosigmalapl28;

  tv4rhosigmalapl29 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 9] += tv4rhosigmalapl29;

  tv4rhosigmalapl210 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 10] += tv4rhosigmalapl210;

  tv4rhosigmalapl211 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 11] += tv4rhosigmalapl211;

  tv4rhosigmalapl212 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 12] += tv4rhosigmalapl212;

  tv4rhosigmalapl213 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 13] += tv4rhosigmalapl213;

  tv4rhosigmalapl214 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 14] += tv4rhosigmalapl214;

  tv4rhosigmalapl215 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 15] += tv4rhosigmalapl215;

  tv4rhosigmalapl216 = 0.e0;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 16] += tv4rhosigmalapl216;

  t2677 = t863 * t619;
  t2682 = t804 * t619;
  t2688 = t813 * t619;
  tv4rhosigmalapl217 = -t2442 * t506 * t508 / 0.4e1 - t884 * t899 * t619 + 0.3e1 / 0.4e1 * t801 * t2677 + 0.3e1 / 0.2e1 * t884 * t2677 - 0.3e1 / 0.2e1 * t821 * t2682 - t2446 / 0.4e1 + t2448 / 0.2e1 - t2276 / 0.2e1 + t2283 + 0.2e1 * t821 * t2688 - 0.3e1 / 0.2e1 * t824 * t827 * t619 - 0.3e1 / 0.4e1 * t801 * t2682 + 0.3e1 / 0.4e1 * t810 * t2688 + t2476 / 0.2e1 + t2299 - t92 * t506 * t152 * t839 / 0.2e1 - t2482 / 0.2e1 - t2308 - t514;

  if(out->v4rhosigmalapl2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapl2[ip*p->dim.v4rhosigmalapl2 + 17] += tv4rhosigmalapl217;

  t2707 = t2487 / 0.4e1;
  t2708 = t2489 / 0.2e1;
  t2712 = t203 * t1704;
  t2720 = t2392 * t124 * t351 / 0.4e1 + t2707 - t2708 - 0.3e1 / 0.4e1 * t752 * t757 * t1353 - 0.3e1 / 0.2e1 * t921 * t2712 + 0.3e1 / 0.2e1 * t975 * t698 * t600 + t980 * t793 * t600 - t2135 - t2138 + t2153 + t2328;
  t2721 = t2512 / 0.2e1;
  t2728 = t922 * t1704;
  t2734 = t629 * t698;
  t2737 = t2523 / 0.2e1;
  t2738 = -t2329 + t2159 + t2721 + t2330 + 0.3e1 / 0.4e1 * t752 * t698 * t1353 - 0.3e1 / 0.4e1 * t916 * t707 * t1353 - 0.2e1 * t921 * t2728 + 0.3e1 / 0.2e1 * t907 * t721 * t600 + t921 * t2734 / 0.2e1 - t2737 - t2345 + t528;
  tv4rhosigmalapltau0 = -(t2720 + t2738) * t30;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 0] += tv4rhosigmalapltau0;

  tv4rhosigmalapltau1 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 1] += tv4rhosigmalapltau1;

  tv4rhosigmalapltau2 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 2] += tv4rhosigmalapltau2;

  tv4rhosigmalapltau3 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 3] += tv4rhosigmalapltau3;

  tv4rhosigmalapltau4 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 4] += tv4rhosigmalapltau4;

  tv4rhosigmalapltau5 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 5] += tv4rhosigmalapltau5;

  tv4rhosigmalapltau6 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 6] += tv4rhosigmalapltau6;

  tv4rhosigmalapltau7 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 7] += tv4rhosigmalapltau7;

  tv4rhosigmalapltau8 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 8] += tv4rhosigmalapltau8;

  tv4rhosigmalapltau9 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 9] += tv4rhosigmalapltau9;

  tv4rhosigmalapltau10 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 10] += tv4rhosigmalapltau10;

  tv4rhosigmalapltau11 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 11] += tv4rhosigmalapltau11;

  tv4rhosigmalapltau12 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 12] += tv4rhosigmalapltau12;

  tv4rhosigmalapltau13 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 13] += tv4rhosigmalapltau13;

  tv4rhosigmalapltau14 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 14] += tv4rhosigmalapltau14;

  tv4rhosigmalapltau15 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 15] += tv4rhosigmalapltau15;

  tv4rhosigmalapltau16 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 16] += tv4rhosigmalapltau16;

  tv4rhosigmalapltau17 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 17] += tv4rhosigmalapltau17;

  tv4rhosigmalapltau18 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 18] += tv4rhosigmalapltau18;

  tv4rhosigmalapltau19 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 19] += tv4rhosigmalapltau19;

  tv4rhosigmalapltau20 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 20] += tv4rhosigmalapltau20;

  tv4rhosigmalapltau21 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 21] += tv4rhosigmalapltau21;

  tv4rhosigmalapltau22 = 0.e0;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 22] += tv4rhosigmalapltau22;

  t2744 = t2533 / 0.2e1;
  t2745 = t2537 / 0.4e1;
  t2751 = t250 * t1793;
  t2757 = t2442 * t132 * t377 / 0.4e1 - t2744 + t2745 + t1049 * t899 * t615 - 0.3e1 / 0.4e1 * t858 * t863 * t1403 - 0.3e1 / 0.2e1 * t998 * t2751 + 0.3e1 / 0.2e1 * t1061 * t804 * t615 + t2363 - t2364 + t2193 - t2196;
  t2758 = t2558 / 0.2e1;
  t2768 = t999 * t1793;
  t2771 = t647 * t804;
  t2774 = t2569 / 0.2e1;
  t2775 = -t2199 + t2214 + t2758 + t2369 + 0.3e1 / 0.2e1 * t1005 * t827 * t615 + 0.3e1 / 0.4e1 * t858 * t804 * t1403 - 0.3e1 / 0.4e1 * t993 * t813 * t1403 - 0.2e1 * t998 * t2768 + t998 * t2771 / 0.2e1 - t2774 - t2381 + t545;
  tv4rhosigmalapltau23 = -(t2757 + t2775) * t58;

  if(out->v4rhosigmalapltau != NULL && (p->info->flags & XC_FLAGS_NEEDS_LAPLACIAN) && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmalapltau[ip*p->dim.v4rhosigmalapltau + 23] += tv4rhosigmalapltau23;

  t2794 = -t1111 * t673 * t145 / 0.2e1 + t2392 * t662 * t404 / 0.4e1 + 0.3e1 / 0.2e1 * t666 * t1755 + t666 * t75 * t1704 - 0.3e1 / 0.4e1 * t663 * t1705 - 0.3e1 / 0.2e1 * t666 * t2712 + t2707 - t2708 + t2491 / 0.3e1 + 0.2e1 / 0.3e1 * t2494 - t2134;
  t2806 = -t2137 + t2327 + t2158 + t666 * t2734 / 0.2e1 + t2721 + 0.3e1 / 0.4e1 * t663 * t1755 - 0.3e1 / 0.4e1 * t663 * t1758 - 0.2e1 * t666 * t2728 + 0.3e1 / 0.2e1 * t666 * t1072 * t1704 - t2737 + t528 - t574;
  tv4rhosigmatau20 = -(t2794 + t2806) * t30;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 0] += tv4rhosigmatau20;

  tv4rhosigmatau21 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 1] += tv4rhosigmatau21;

  tv4rhosigmatau22 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 2] += tv4rhosigmatau22;

  tv4rhosigmatau23 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 3] += tv4rhosigmatau23;

  tv4rhosigmatau24 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 4] += tv4rhosigmatau24;

  tv4rhosigmatau25 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 5] += tv4rhosigmatau25;

  tv4rhosigmatau26 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 6] += tv4rhosigmatau26;

  tv4rhosigmatau27 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 7] += tv4rhosigmatau27;

  tv4rhosigmatau28 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 8] += tv4rhosigmatau28;

  tv4rhosigmatau29 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 9] += tv4rhosigmatau29;

  tv4rhosigmatau210 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 10] += tv4rhosigmatau210;

  tv4rhosigmatau211 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 11] += tv4rhosigmatau211;

  tv4rhosigmatau212 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 12] += tv4rhosigmatau212;

  tv4rhosigmatau213 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 13] += tv4rhosigmatau213;

  tv4rhosigmatau214 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 14] += tv4rhosigmatau214;

  tv4rhosigmatau215 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 15] += tv4rhosigmatau215;

  tv4rhosigmatau216 = 0.e0;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 16] += tv4rhosigmatau216;

  t2825 = -t1129 * t689 * t157 / 0.2e1 + t2442 * t678 * t447 / 0.4e1 - 0.3e1 / 0.4e1 * t679 * t1794 - 0.3e1 / 0.2e1 * t682 * t2751 + 0.3e1 / 0.2e1 * t682 * t1832 + t682 * t106 * t1793 - t2744 + t2745 + t2540 / 0.3e1 + 0.2e1 / 0.3e1 * t2543 + t2192;
  t2837 = -t2195 - t2198 + t2365 + t682 * t2771 / 0.2e1 + t2758 + 0.3e1 / 0.4e1 * t679 * t1832 - 0.3e1 / 0.4e1 * t679 * t1835 - 0.2e1 * t682 * t2768 + 0.3e1 / 0.2e1 * t682 * t1153 * t1793 - t2774 + t545 - t593;
  tv4rhosigmatau217 = -(t2825 + t2837) * t58;

  if(out->v4rhosigmatau2 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhosigmatau2[ip*p->dim.v4rhosigmatau2 + 17] += tv4rhosigmatau217;

  t2855 = t662 * t162;
  t2856 = t183 * t2855;
  t2859 = t61 * t2855;
  t2879 = -t1111 * t673 * t166 / 0.2e1 + M_PI * (t60 * t162 * t77 / 0.2e1 + t740 * t162 * t77 / 0.2e1 - t743 * t162 * t77 / 0.2e1) * t662 * t404 / 0.4e1 - 0.3e1 / 0.4e1 * t2856 * t2008 - 0.3e1 / 0.2e1 * t2859 * t2013 + 0.3e1 / 0.2e1 * t2859 * t1999 + t2859 * t2002 + t2494 - 0.3e1 / 0.2e1 * t2134 - 0.3e1 / 0.2e1 * t2137 + 0.3e1 / 0.4e1 * t2152 + 0.3e1 / 0.2e1 * t2158 + t2859 * t2023 / 0.2e1 + 0.3e1 / 0.4e1 * t2856 * t1999 - 0.3e1 / 0.4e1 * t2856 * t2034 - 0.2e1 * t2859 * t2026 + 0.3e1 / 0.2e1 * t2859 * t2029 + t528 - t574;
  tv4rhotau30 = -t2879 * t30;

  if(out->v4rhotau3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhotau3[ip*p->dim.v4rhotau3 + 0] += tv4rhotau30;

  tv4rhotau31 = 0.e0;

  if(out->v4rhotau3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhotau3[ip*p->dim.v4rhotau3 + 1] += tv4rhotau31;

  tv4rhotau32 = 0.e0;

  if(out->v4rhotau3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhotau3[ip*p->dim.v4rhotau3 + 2] += tv4rhotau32;

  tv4rhotau33 = 0.e0;

  if(out->v4rhotau3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhotau3[ip*p->dim.v4rhotau3 + 3] += tv4rhotau33;

  tv4rhotau34 = 0.e0;

  if(out->v4rhotau3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhotau3[ip*p->dim.v4rhotau3 + 4] += tv4rhotau34;

  tv4rhotau35 = 0.e0;

  if(out->v4rhotau3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhotau3[ip*p->dim.v4rhotau3 + 5] += tv4rhotau35;

  tv4rhotau36 = 0.e0;

  if(out->v4rhotau3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhotau3[ip*p->dim.v4rhotau3 + 6] += tv4rhotau36;

  t2896 = t678 * t171;
  t2897 = t230 * t2896;
  t2900 = t92 * t2896;
  t2920 = -t1129 * t689 * t175 / 0.2e1 + M_PI * (t846 * t171 * t108 / 0.2e1 - t849 * t171 * t108 / 0.2e1 + t91 * t171 * t108 / 0.2e1) * t678 * t447 / 0.4e1 - 0.3e1 / 0.4e1 * t2897 * t2081 - 0.3e1 / 0.2e1 * t2900 * t2086 + 0.3e1 / 0.2e1 * t2900 * t2072 + t2900 * t2075 + t2543 + 0.3e1 / 0.2e1 * t2192 - 0.3e1 / 0.2e1 * t2195 - 0.3e1 / 0.2e1 * t2198 + 0.3e1 / 0.4e1 * t2213 + t2900 * t2096 / 0.2e1 + 0.3e1 / 0.4e1 * t2897 * t2072 - 0.3e1 / 0.4e1 * t2897 * t2101 - 0.2e1 * t2900 * t2106 + 0.3e1 / 0.2e1 * t2900 * t2109 + t545 - t593;
  tv4rhotau37 = -t2920 * t58;

  if(out->v4rhotau3 != NULL && (p->info->flags & XC_FLAGS_NEEDS_TAU) && (p->info->flags & XC_FLAGS_HAVE_LXC))
    out->v4rhotau3[ip*p->dim.v4rhotau3 + 7] += tv4rhotau37;

}

#endif

