diff --git a/scripts/auto_intor.cl b/scripts/auto_intor.cl index cddcd363..aec4dfbd 100644 --- a/scripts/auto_intor.cl +++ b/scripts/auto_intor.cl @@ -239,5 +239,8 @@ (gen-cint "lresc.c" - '("int1e_iprinvr" ( nabla \| rinv \| r )) + '("int1e_iprinvr" ( nabla \| rinv \| r )) + '("int1e_iprinviprip" ( nabla \| rinv \| nabla r nabla )) + '("int1e_rinvipiprip" ( \| rinv \| nabla nabla r nabla )) + '("int1e_ipiprinvrip" ( nabla nabla \| rinv \| r nabla )) ) diff --git a/src/autocode/lresc.c b/src/autocode/lresc.c index a7fd03ee..012587a4 100644 --- a/src/autocode/lresc.c +++ b/src/autocode/lresc.c @@ -94,3 +94,963 @@ return CINT1e_spinor_drv(out, dims, &envs, cache, &c2s_sf_1e, 1); } // int1e_iprinvr_spinor ALL_CINT1E(int1e_iprinvr) ALL_CINT1E_FORTRAN_(int1e_iprinvr) +/* */ +void CINTgout1e_int1e_iprinviprip(double *gout, double *g, FINT *idx, CINTEnvVars *envs, FINT gout_empty) { +FINT nf = envs->nf; +FINT nrys_roots = envs->nrys_roots; +FINT ix, iy, iz, n, i; +double *g0 = g; +double *g1 = g0 + envs->g_size * 3; +double *g2 = g1 + envs->g_size * 3; +double *g3 = g2 + envs->g_size * 3; +double *g4 = g3 + envs->g_size * 3; +double *g5 = g4 + envs->g_size * 3; +double *g6 = g5 + envs->g_size * 3; +double *g7 = g6 + envs->g_size * 3; +double *g8 = g7 + envs->g_size * 3; +double *g9 = g8 + envs->g_size * 3; +double *g10 = g9 + envs->g_size * 3; +double *g11 = g10 + envs->g_size * 3; +double *g12 = g11 + envs->g_size * 3; +double *g13 = g12 + envs->g_size * 3; +double *g14 = g13 + envs->g_size * 3; +double *g15 = g14 + envs->g_size * 3; +G2E_D_J(g1, g0, envs->i_l+1, envs->j_l+0, 0, 0); +G2E_R_J(g2, g0, envs->i_l+1, envs->j_l+1, 0, 0); +G2E_D_J(g3, g2, envs->i_l+1, envs->j_l+0, 0, 0); +G2E_D_J(g4, g0, envs->i_l+1, envs->j_l+2, 0, 0); +G2E_D_J(g5, g4, envs->i_l+1, envs->j_l+0, 0, 0); +G2E_R_J(g6, g4, envs->i_l+1, envs->j_l+1, 0, 0); +G2E_D_J(g7, g6, envs->i_l+1, envs->j_l+0, 0, 0); +G2E_D_I(g8, g0, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g9, g1, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g10, g2, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g11, g3, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g12, g4, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g13, g5, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g14, g6, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g15, g7, envs->i_l+0, envs->j_l, 0, 0); +double s[81]; +for (n = 0; n < nf; n++) { +ix = idx[0+n*3]; +iy = idx[1+n*3]; +iz = idx[2+n*3]; +for (i = 0; i < 81; i++) { s[i] = 0; } +for (i = 0; i < nrys_roots; i++) { +s[0] += g15[ix+i] * g0[iy+i] * g0[iz+i]; +s[1] += g14[ix+i] * g1[iy+i] * g0[iz+i]; +s[2] += g14[ix+i] * g0[iy+i] * g1[iz+i]; +s[3] += g13[ix+i] * g2[iy+i] * g0[iz+i]; +s[4] += g12[ix+i] * g3[iy+i] * g0[iz+i]; +s[5] += g12[ix+i] * g2[iy+i] * g1[iz+i]; +s[6] += g13[ix+i] * g0[iy+i] * g2[iz+i]; +s[7] += g12[ix+i] * g1[iy+i] * g2[iz+i]; +s[8] += g12[ix+i] * g0[iy+i] * g3[iz+i]; +s[9] += g11[ix+i] * g4[iy+i] * g0[iz+i]; +s[10] += g10[ix+i] * g5[iy+i] * g0[iz+i]; +s[11] += g10[ix+i] * g4[iy+i] * g1[iz+i]; +s[12] += g9[ix+i] * g6[iy+i] * g0[iz+i]; +s[13] += g8[ix+i] * g7[iy+i] * g0[iz+i]; +s[14] += g8[ix+i] * g6[iy+i] * g1[iz+i]; +s[15] += g9[ix+i] * g4[iy+i] * g2[iz+i]; +s[16] += g8[ix+i] * g5[iy+i] * g2[iz+i]; +s[17] += g8[ix+i] * g4[iy+i] * g3[iz+i]; +s[18] += g11[ix+i] * g0[iy+i] * g4[iz+i]; +s[19] += g10[ix+i] * g1[iy+i] * g4[iz+i]; +s[20] += g10[ix+i] * g0[iy+i] * g5[iz+i]; +s[21] += g9[ix+i] * g2[iy+i] * g4[iz+i]; +s[22] += g8[ix+i] * g3[iy+i] * g4[iz+i]; +s[23] += g8[ix+i] * g2[iy+i] * g5[iz+i]; +s[24] += g9[ix+i] * g0[iy+i] * g6[iz+i]; +s[25] += g8[ix+i] * g1[iy+i] * g6[iz+i]; +s[26] += g8[ix+i] * g0[iy+i] * g7[iz+i]; +s[27] += g7[ix+i] * g8[iy+i] * g0[iz+i]; +s[28] += g6[ix+i] * g9[iy+i] * g0[iz+i]; +s[29] += g6[ix+i] * g8[iy+i] * g1[iz+i]; +s[30] += g5[ix+i] * g10[iy+i] * g0[iz+i]; +s[31] += g4[ix+i] * g11[iy+i] * g0[iz+i]; +s[32] += g4[ix+i] * g10[iy+i] * g1[iz+i]; +s[33] += g5[ix+i] * g8[iy+i] * g2[iz+i]; +s[34] += g4[ix+i] * g9[iy+i] * g2[iz+i]; +s[35] += g4[ix+i] * g8[iy+i] * g3[iz+i]; +s[36] += g3[ix+i] * g12[iy+i] * g0[iz+i]; +s[37] += g2[ix+i] * g13[iy+i] * g0[iz+i]; +s[38] += g2[ix+i] * g12[iy+i] * g1[iz+i]; +s[39] += g1[ix+i] * g14[iy+i] * g0[iz+i]; +s[40] += g0[ix+i] * g15[iy+i] * g0[iz+i]; +s[41] += g0[ix+i] * g14[iy+i] * g1[iz+i]; +s[42] += g1[ix+i] * g12[iy+i] * g2[iz+i]; +s[43] += g0[ix+i] * g13[iy+i] * g2[iz+i]; +s[44] += g0[ix+i] * g12[iy+i] * g3[iz+i]; +s[45] += g3[ix+i] * g8[iy+i] * g4[iz+i]; +s[46] += g2[ix+i] * g9[iy+i] * g4[iz+i]; +s[47] += g2[ix+i] * g8[iy+i] * g5[iz+i]; +s[48] += g1[ix+i] * g10[iy+i] * g4[iz+i]; +s[49] += g0[ix+i] * g11[iy+i] * g4[iz+i]; +s[50] += g0[ix+i] * g10[iy+i] * g5[iz+i]; +s[51] += g1[ix+i] * g8[iy+i] * g6[iz+i]; +s[52] += g0[ix+i] * g9[iy+i] * g6[iz+i]; +s[53] += g0[ix+i] * g8[iy+i] * g7[iz+i]; +s[54] += g7[ix+i] * g0[iy+i] * g8[iz+i]; +s[55] += g6[ix+i] * g1[iy+i] * g8[iz+i]; +s[56] += g6[ix+i] * g0[iy+i] * g9[iz+i]; +s[57] += g5[ix+i] * g2[iy+i] * g8[iz+i]; +s[58] += g4[ix+i] * g3[iy+i] * g8[iz+i]; +s[59] += g4[ix+i] * g2[iy+i] * g9[iz+i]; +s[60] += g5[ix+i] * g0[iy+i] * g10[iz+i]; +s[61] += g4[ix+i] * g1[iy+i] * g10[iz+i]; +s[62] += g4[ix+i] * g0[iy+i] * g11[iz+i]; +s[63] += g3[ix+i] * g4[iy+i] * g8[iz+i]; +s[64] += g2[ix+i] * g5[iy+i] * g8[iz+i]; +s[65] += g2[ix+i] * g4[iy+i] * g9[iz+i]; +s[66] += g1[ix+i] * g6[iy+i] * g8[iz+i]; +s[67] += g0[ix+i] * g7[iy+i] * g8[iz+i]; +s[68] += g0[ix+i] * g6[iy+i] * g9[iz+i]; +s[69] += g1[ix+i] * g4[iy+i] * g10[iz+i]; +s[70] += g0[ix+i] * g5[iy+i] * g10[iz+i]; +s[71] += g0[ix+i] * g4[iy+i] * g11[iz+i]; +s[72] += g3[ix+i] * g0[iy+i] * g12[iz+i]; +s[73] += g2[ix+i] * g1[iy+i] * g12[iz+i]; +s[74] += g2[ix+i] * g0[iy+i] * g13[iz+i]; +s[75] += g1[ix+i] * g2[iy+i] * g12[iz+i]; +s[76] += g0[ix+i] * g3[iy+i] * g12[iz+i]; +s[77] += g0[ix+i] * g2[iy+i] * g13[iz+i]; +s[78] += g1[ix+i] * g0[iy+i] * g14[iz+i]; +s[79] += g0[ix+i] * g1[iy+i] * g14[iz+i]; +s[80] += g0[ix+i] * g0[iy+i] * g15[iz+i]; +} +if (gout_empty) { +gout[n*81+0] = + s[0]; +gout[n*81+1] = + s[1]; +gout[n*81+2] = + s[2]; +gout[n*81+3] = + s[3]; +gout[n*81+4] = + s[4]; +gout[n*81+5] = + s[5]; +gout[n*81+6] = + s[6]; +gout[n*81+7] = + s[7]; +gout[n*81+8] = + s[8]; +gout[n*81+9] = + s[9]; +gout[n*81+10] = + s[10]; +gout[n*81+11] = + s[11]; +gout[n*81+12] = + s[12]; +gout[n*81+13] = + s[13]; +gout[n*81+14] = + s[14]; +gout[n*81+15] = + s[15]; +gout[n*81+16] = + s[16]; +gout[n*81+17] = + s[17]; +gout[n*81+18] = + s[18]; +gout[n*81+19] = + s[19]; +gout[n*81+20] = + s[20]; +gout[n*81+21] = + s[21]; +gout[n*81+22] = + s[22]; +gout[n*81+23] = + s[23]; +gout[n*81+24] = + s[24]; +gout[n*81+25] = + s[25]; +gout[n*81+26] = + s[26]; +gout[n*81+27] = + s[27]; +gout[n*81+28] = + s[28]; +gout[n*81+29] = + s[29]; +gout[n*81+30] = + s[30]; +gout[n*81+31] = + s[31]; +gout[n*81+32] = + s[32]; +gout[n*81+33] = + s[33]; +gout[n*81+34] = + s[34]; +gout[n*81+35] = + s[35]; +gout[n*81+36] = + s[36]; +gout[n*81+37] = + s[37]; +gout[n*81+38] = + s[38]; +gout[n*81+39] = + s[39]; +gout[n*81+40] = + s[40]; +gout[n*81+41] = + s[41]; +gout[n*81+42] = + s[42]; +gout[n*81+43] = + s[43]; +gout[n*81+44] = + s[44]; +gout[n*81+45] = + s[45]; +gout[n*81+46] = + s[46]; +gout[n*81+47] = + s[47]; +gout[n*81+48] = + s[48]; +gout[n*81+49] = + s[49]; +gout[n*81+50] = + s[50]; +gout[n*81+51] = + s[51]; +gout[n*81+52] = + s[52]; +gout[n*81+53] = + s[53]; +gout[n*81+54] = + s[54]; +gout[n*81+55] = + s[55]; +gout[n*81+56] = + s[56]; +gout[n*81+57] = + s[57]; +gout[n*81+58] = + s[58]; +gout[n*81+59] = + s[59]; +gout[n*81+60] = + s[60]; +gout[n*81+61] = + s[61]; +gout[n*81+62] = + s[62]; +gout[n*81+63] = + s[63]; +gout[n*81+64] = + s[64]; +gout[n*81+65] = + s[65]; +gout[n*81+66] = + s[66]; +gout[n*81+67] = + s[67]; +gout[n*81+68] = + s[68]; +gout[n*81+69] = + s[69]; +gout[n*81+70] = + s[70]; +gout[n*81+71] = + s[71]; +gout[n*81+72] = + s[72]; +gout[n*81+73] = + s[73]; +gout[n*81+74] = + s[74]; +gout[n*81+75] = + s[75]; +gout[n*81+76] = + s[76]; +gout[n*81+77] = + s[77]; +gout[n*81+78] = + s[78]; +gout[n*81+79] = + s[79]; +gout[n*81+80] = + s[80]; +} else { +gout[n*81+0] += + s[0]; +gout[n*81+1] += + s[1]; +gout[n*81+2] += + s[2]; +gout[n*81+3] += + s[3]; +gout[n*81+4] += + s[4]; +gout[n*81+5] += + s[5]; +gout[n*81+6] += + s[6]; +gout[n*81+7] += + s[7]; +gout[n*81+8] += + s[8]; +gout[n*81+9] += + s[9]; +gout[n*81+10] += + s[10]; +gout[n*81+11] += + s[11]; +gout[n*81+12] += + s[12]; +gout[n*81+13] += + s[13]; +gout[n*81+14] += + s[14]; +gout[n*81+15] += + s[15]; +gout[n*81+16] += + s[16]; +gout[n*81+17] += + s[17]; +gout[n*81+18] += + s[18]; +gout[n*81+19] += + s[19]; +gout[n*81+20] += + s[20]; +gout[n*81+21] += + s[21]; +gout[n*81+22] += + s[22]; +gout[n*81+23] += + s[23]; +gout[n*81+24] += + s[24]; +gout[n*81+25] += + s[25]; +gout[n*81+26] += + s[26]; +gout[n*81+27] += + s[27]; +gout[n*81+28] += + s[28]; +gout[n*81+29] += + s[29]; +gout[n*81+30] += + s[30]; +gout[n*81+31] += + s[31]; +gout[n*81+32] += + s[32]; +gout[n*81+33] += + s[33]; +gout[n*81+34] += + s[34]; +gout[n*81+35] += + s[35]; +gout[n*81+36] += + s[36]; +gout[n*81+37] += + s[37]; +gout[n*81+38] += + s[38]; +gout[n*81+39] += + s[39]; +gout[n*81+40] += + s[40]; +gout[n*81+41] += + s[41]; +gout[n*81+42] += + s[42]; +gout[n*81+43] += + s[43]; +gout[n*81+44] += + s[44]; +gout[n*81+45] += + s[45]; +gout[n*81+46] += + s[46]; +gout[n*81+47] += + s[47]; +gout[n*81+48] += + s[48]; +gout[n*81+49] += + s[49]; +gout[n*81+50] += + s[50]; +gout[n*81+51] += + s[51]; +gout[n*81+52] += + s[52]; +gout[n*81+53] += + s[53]; +gout[n*81+54] += + s[54]; +gout[n*81+55] += + s[55]; +gout[n*81+56] += + s[56]; +gout[n*81+57] += + s[57]; +gout[n*81+58] += + s[58]; +gout[n*81+59] += + s[59]; +gout[n*81+60] += + s[60]; +gout[n*81+61] += + s[61]; +gout[n*81+62] += + s[62]; +gout[n*81+63] += + s[63]; +gout[n*81+64] += + s[64]; +gout[n*81+65] += + s[65]; +gout[n*81+66] += + s[66]; +gout[n*81+67] += + s[67]; +gout[n*81+68] += + s[68]; +gout[n*81+69] += + s[69]; +gout[n*81+70] += + s[70]; +gout[n*81+71] += + s[71]; +gout[n*81+72] += + s[72]; +gout[n*81+73] += + s[73]; +gout[n*81+74] += + s[74]; +gout[n*81+75] += + s[75]; +gout[n*81+76] += + s[76]; +gout[n*81+77] += + s[77]; +gout[n*81+78] += + s[78]; +gout[n*81+79] += + s[79]; +gout[n*81+80] += + s[80]; +}}} +void int1e_iprinviprip_optimizer(CINTOpt **opt, FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env) { +FINT ng[] = {1, 3, 0, 0, 4, 1, 0, 81}; +CINTall_1e_optimizer(opt, ng, atm, natm, bas, nbas, env); +} +CACHE_SIZE_T int1e_iprinviprip_cart(double *out, FINT *dims, FINT *shls, +FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env, CINTOpt *opt, double *cache) { +FINT ng[] = {1, 3, 0, 0, 4, 1, 0, 81}; +CINTEnvVars envs; +CINTinit_int1e_EnvVars(&envs, ng, shls, atm, natm, bas, nbas, env); +envs.f_gout = &CINTgout1e_int1e_iprinviprip; +return CINT1e_drv(out, dims, &envs, cache, &c2s_cart_1e, 1); +} // int1e_iprinviprip_cart +CACHE_SIZE_T int1e_iprinviprip_sph(double *out, FINT *dims, FINT *shls, +FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env, CINTOpt *opt, double *cache) { +FINT ng[] = {1, 3, 0, 0, 4, 1, 0, 81}; +CINTEnvVars envs; +CINTinit_int1e_EnvVars(&envs, ng, shls, atm, natm, bas, nbas, env); +envs.f_gout = &CINTgout1e_int1e_iprinviprip; +return CINT1e_drv(out, dims, &envs, cache, &c2s_sph_1e, 1); +} // int1e_iprinviprip_sph +CACHE_SIZE_T int1e_iprinviprip_spinor(double complex *out, FINT *dims, FINT *shls, +FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env, CINTOpt *opt, double *cache) { +FINT ng[] = {1, 3, 0, 0, 4, 1, 0, 81}; +CINTEnvVars envs; +CINTinit_int1e_EnvVars(&envs, ng, shls, atm, natm, bas, nbas, env); +envs.f_gout = &CINTgout1e_int1e_iprinviprip; +return CINT1e_spinor_drv(out, dims, &envs, cache, &c2s_sf_1e, 1); +} // int1e_iprinviprip_spinor +ALL_CINT1E(int1e_iprinviprip) +ALL_CINT1E_FORTRAN_(int1e_iprinviprip) +/* */ +void CINTgout1e_int1e_rinvipiprip(double *gout, double *g, FINT *idx, CINTEnvVars *envs, FINT gout_empty) { +FINT nf = envs->nf; +FINT nrys_roots = envs->nrys_roots; +FINT ix, iy, iz, n, i; +double *g0 = g; +double *g1 = g0 + envs->g_size * 3; +double *g2 = g1 + envs->g_size * 3; +double *g3 = g2 + envs->g_size * 3; +double *g4 = g3 + envs->g_size * 3; +double *g5 = g4 + envs->g_size * 3; +double *g6 = g5 + envs->g_size * 3; +double *g7 = g6 + envs->g_size * 3; +double *g8 = g7 + envs->g_size * 3; +double *g9 = g8 + envs->g_size * 3; +double *g10 = g9 + envs->g_size * 3; +double *g11 = g10 + envs->g_size * 3; +double *g12 = g11 + envs->g_size * 3; +double *g13 = g12 + envs->g_size * 3; +double *g14 = g13 + envs->g_size * 3; +double *g15 = g14 + envs->g_size * 3; +G2E_D_J(g1, g0, envs->i_l+0, envs->j_l+0, 0, 0); +G2E_R_J(g2, g0, envs->i_l+0, envs->j_l+1, 0, 0); +G2E_D_J(g3, g2, envs->i_l+0, envs->j_l+0, 0, 0); +G2E_D_J(g4, g0, envs->i_l+0, envs->j_l+2, 0, 0); +G2E_D_J(g5, g4, envs->i_l+0, envs->j_l+0, 0, 0); +G2E_R_J(g6, g4, envs->i_l+0, envs->j_l+1, 0, 0); +G2E_D_J(g7, g6, envs->i_l+0, envs->j_l+0, 0, 0); +G2E_D_J(g8, g0, envs->i_l+0, envs->j_l+3, 0, 0); +G2E_D_J(g9, g8, envs->i_l+0, envs->j_l+0, 0, 0); +G2E_R_J(g10, g8, envs->i_l+0, envs->j_l+1, 0, 0); +G2E_D_J(g11, g10, envs->i_l+0, envs->j_l+0, 0, 0); +G2E_D_J(g12, g8, envs->i_l+0, envs->j_l+2, 0, 0); +G2E_D_J(g13, g12, envs->i_l+0, envs->j_l+0, 0, 0); +G2E_R_J(g14, g12, envs->i_l+0, envs->j_l+1, 0, 0); +G2E_D_J(g15, g14, envs->i_l+0, envs->j_l+0, 0, 0); +double s[81]; +for (n = 0; n < nf; n++) { +ix = idx[0+n*3]; +iy = idx[1+n*3]; +iz = idx[2+n*3]; +for (i = 0; i < 81; i++) { s[i] = 0; } +for (i = 0; i < nrys_roots; i++) { +s[0] += g15[ix+i] * g0[iy+i] * g0[iz+i]; +s[1] += g14[ix+i] * g1[iy+i] * g0[iz+i]; +s[2] += g14[ix+i] * g0[iy+i] * g1[iz+i]; +s[3] += g13[ix+i] * g2[iy+i] * g0[iz+i]; +s[4] += g12[ix+i] * g3[iy+i] * g0[iz+i]; +s[5] += g12[ix+i] * g2[iy+i] * g1[iz+i]; +s[6] += g13[ix+i] * g0[iy+i] * g2[iz+i]; +s[7] += g12[ix+i] * g1[iy+i] * g2[iz+i]; +s[8] += g12[ix+i] * g0[iy+i] * g3[iz+i]; +s[9] += g11[ix+i] * g4[iy+i] * g0[iz+i]; +s[10] += g10[ix+i] * g5[iy+i] * g0[iz+i]; +s[11] += g10[ix+i] * g4[iy+i] * g1[iz+i]; +s[12] += g9[ix+i] * g6[iy+i] * g0[iz+i]; +s[13] += g8[ix+i] * g7[iy+i] * g0[iz+i]; +s[14] += g8[ix+i] * g6[iy+i] * g1[iz+i]; +s[15] += g9[ix+i] * g4[iy+i] * g2[iz+i]; +s[16] += g8[ix+i] * g5[iy+i] * g2[iz+i]; +s[17] += g8[ix+i] * g4[iy+i] * g3[iz+i]; +s[18] += g11[ix+i] * g0[iy+i] * g4[iz+i]; +s[19] += g10[ix+i] * g1[iy+i] * g4[iz+i]; +s[20] += g10[ix+i] * g0[iy+i] * g5[iz+i]; +s[21] += g9[ix+i] * g2[iy+i] * g4[iz+i]; +s[22] += g8[ix+i] * g3[iy+i] * g4[iz+i]; +s[23] += g8[ix+i] * g2[iy+i] * g5[iz+i]; +s[24] += g9[ix+i] * g0[iy+i] * g6[iz+i]; +s[25] += g8[ix+i] * g1[iy+i] * g6[iz+i]; +s[26] += g8[ix+i] * g0[iy+i] * g7[iz+i]; +s[27] += g7[ix+i] * g8[iy+i] * g0[iz+i]; +s[28] += g6[ix+i] * g9[iy+i] * g0[iz+i]; +s[29] += g6[ix+i] * g8[iy+i] * g1[iz+i]; +s[30] += g5[ix+i] * g10[iy+i] * g0[iz+i]; +s[31] += g4[ix+i] * g11[iy+i] * g0[iz+i]; +s[32] += g4[ix+i] * g10[iy+i] * g1[iz+i]; +s[33] += g5[ix+i] * g8[iy+i] * g2[iz+i]; +s[34] += g4[ix+i] * g9[iy+i] * g2[iz+i]; +s[35] += g4[ix+i] * g8[iy+i] * g3[iz+i]; +s[36] += g3[ix+i] * g12[iy+i] * g0[iz+i]; +s[37] += g2[ix+i] * g13[iy+i] * g0[iz+i]; +s[38] += g2[ix+i] * g12[iy+i] * g1[iz+i]; +s[39] += g1[ix+i] * g14[iy+i] * g0[iz+i]; +s[40] += g0[ix+i] * g15[iy+i] * g0[iz+i]; +s[41] += g0[ix+i] * g14[iy+i] * g1[iz+i]; +s[42] += g1[ix+i] * g12[iy+i] * g2[iz+i]; +s[43] += g0[ix+i] * g13[iy+i] * g2[iz+i]; +s[44] += g0[ix+i] * g12[iy+i] * g3[iz+i]; +s[45] += g3[ix+i] * g8[iy+i] * g4[iz+i]; +s[46] += g2[ix+i] * g9[iy+i] * g4[iz+i]; +s[47] += g2[ix+i] * g8[iy+i] * g5[iz+i]; +s[48] += g1[ix+i] * g10[iy+i] * g4[iz+i]; +s[49] += g0[ix+i] * g11[iy+i] * g4[iz+i]; +s[50] += g0[ix+i] * g10[iy+i] * g5[iz+i]; +s[51] += g1[ix+i] * g8[iy+i] * g6[iz+i]; +s[52] += g0[ix+i] * g9[iy+i] * g6[iz+i]; +s[53] += g0[ix+i] * g8[iy+i] * g7[iz+i]; +s[54] += g7[ix+i] * g0[iy+i] * g8[iz+i]; +s[55] += g6[ix+i] * g1[iy+i] * g8[iz+i]; +s[56] += g6[ix+i] * g0[iy+i] * g9[iz+i]; +s[57] += g5[ix+i] * g2[iy+i] * g8[iz+i]; +s[58] += g4[ix+i] * g3[iy+i] * g8[iz+i]; +s[59] += g4[ix+i] * g2[iy+i] * g9[iz+i]; +s[60] += g5[ix+i] * g0[iy+i] * g10[iz+i]; +s[61] += g4[ix+i] * g1[iy+i] * g10[iz+i]; +s[62] += g4[ix+i] * g0[iy+i] * g11[iz+i]; +s[63] += g3[ix+i] * g4[iy+i] * g8[iz+i]; +s[64] += g2[ix+i] * g5[iy+i] * g8[iz+i]; +s[65] += g2[ix+i] * g4[iy+i] * g9[iz+i]; +s[66] += g1[ix+i] * g6[iy+i] * g8[iz+i]; +s[67] += g0[ix+i] * g7[iy+i] * g8[iz+i]; +s[68] += g0[ix+i] * g6[iy+i] * g9[iz+i]; +s[69] += g1[ix+i] * g4[iy+i] * g10[iz+i]; +s[70] += g0[ix+i] * g5[iy+i] * g10[iz+i]; +s[71] += g0[ix+i] * g4[iy+i] * g11[iz+i]; +s[72] += g3[ix+i] * g0[iy+i] * g12[iz+i]; +s[73] += g2[ix+i] * g1[iy+i] * g12[iz+i]; +s[74] += g2[ix+i] * g0[iy+i] * g13[iz+i]; +s[75] += g1[ix+i] * g2[iy+i] * g12[iz+i]; +s[76] += g0[ix+i] * g3[iy+i] * g12[iz+i]; +s[77] += g0[ix+i] * g2[iy+i] * g13[iz+i]; +s[78] += g1[ix+i] * g0[iy+i] * g14[iz+i]; +s[79] += g0[ix+i] * g1[iy+i] * g14[iz+i]; +s[80] += g0[ix+i] * g0[iy+i] * g15[iz+i]; +} +if (gout_empty) { +gout[n*81+0] = + s[0]; +gout[n*81+1] = + s[1]; +gout[n*81+2] = + s[2]; +gout[n*81+3] = + s[3]; +gout[n*81+4] = + s[4]; +gout[n*81+5] = + s[5]; +gout[n*81+6] = + s[6]; +gout[n*81+7] = + s[7]; +gout[n*81+8] = + s[8]; +gout[n*81+9] = + s[9]; +gout[n*81+10] = + s[10]; +gout[n*81+11] = + s[11]; +gout[n*81+12] = + s[12]; +gout[n*81+13] = + s[13]; +gout[n*81+14] = + s[14]; +gout[n*81+15] = + s[15]; +gout[n*81+16] = + s[16]; +gout[n*81+17] = + s[17]; +gout[n*81+18] = + s[18]; +gout[n*81+19] = + s[19]; +gout[n*81+20] = + s[20]; +gout[n*81+21] = + s[21]; +gout[n*81+22] = + s[22]; +gout[n*81+23] = + s[23]; +gout[n*81+24] = + s[24]; +gout[n*81+25] = + s[25]; +gout[n*81+26] = + s[26]; +gout[n*81+27] = + s[27]; +gout[n*81+28] = + s[28]; +gout[n*81+29] = + s[29]; +gout[n*81+30] = + s[30]; +gout[n*81+31] = + s[31]; +gout[n*81+32] = + s[32]; +gout[n*81+33] = + s[33]; +gout[n*81+34] = + s[34]; +gout[n*81+35] = + s[35]; +gout[n*81+36] = + s[36]; +gout[n*81+37] = + s[37]; +gout[n*81+38] = + s[38]; +gout[n*81+39] = + s[39]; +gout[n*81+40] = + s[40]; +gout[n*81+41] = + s[41]; +gout[n*81+42] = + s[42]; +gout[n*81+43] = + s[43]; +gout[n*81+44] = + s[44]; +gout[n*81+45] = + s[45]; +gout[n*81+46] = + s[46]; +gout[n*81+47] = + s[47]; +gout[n*81+48] = + s[48]; +gout[n*81+49] = + s[49]; +gout[n*81+50] = + s[50]; +gout[n*81+51] = + s[51]; +gout[n*81+52] = + s[52]; +gout[n*81+53] = + s[53]; +gout[n*81+54] = + s[54]; +gout[n*81+55] = + s[55]; +gout[n*81+56] = + s[56]; +gout[n*81+57] = + s[57]; +gout[n*81+58] = + s[58]; +gout[n*81+59] = + s[59]; +gout[n*81+60] = + s[60]; +gout[n*81+61] = + s[61]; +gout[n*81+62] = + s[62]; +gout[n*81+63] = + s[63]; +gout[n*81+64] = + s[64]; +gout[n*81+65] = + s[65]; +gout[n*81+66] = + s[66]; +gout[n*81+67] = + s[67]; +gout[n*81+68] = + s[68]; +gout[n*81+69] = + s[69]; +gout[n*81+70] = + s[70]; +gout[n*81+71] = + s[71]; +gout[n*81+72] = + s[72]; +gout[n*81+73] = + s[73]; +gout[n*81+74] = + s[74]; +gout[n*81+75] = + s[75]; +gout[n*81+76] = + s[76]; +gout[n*81+77] = + s[77]; +gout[n*81+78] = + s[78]; +gout[n*81+79] = + s[79]; +gout[n*81+80] = + s[80]; +} else { +gout[n*81+0] += + s[0]; +gout[n*81+1] += + s[1]; +gout[n*81+2] += + s[2]; +gout[n*81+3] += + s[3]; +gout[n*81+4] += + s[4]; +gout[n*81+5] += + s[5]; +gout[n*81+6] += + s[6]; +gout[n*81+7] += + s[7]; +gout[n*81+8] += + s[8]; +gout[n*81+9] += + s[9]; +gout[n*81+10] += + s[10]; +gout[n*81+11] += + s[11]; +gout[n*81+12] += + s[12]; +gout[n*81+13] += + s[13]; +gout[n*81+14] += + s[14]; +gout[n*81+15] += + s[15]; +gout[n*81+16] += + s[16]; +gout[n*81+17] += + s[17]; +gout[n*81+18] += + s[18]; +gout[n*81+19] += + s[19]; +gout[n*81+20] += + s[20]; +gout[n*81+21] += + s[21]; +gout[n*81+22] += + s[22]; +gout[n*81+23] += + s[23]; +gout[n*81+24] += + s[24]; +gout[n*81+25] += + s[25]; +gout[n*81+26] += + s[26]; +gout[n*81+27] += + s[27]; +gout[n*81+28] += + s[28]; +gout[n*81+29] += + s[29]; +gout[n*81+30] += + s[30]; +gout[n*81+31] += + s[31]; +gout[n*81+32] += + s[32]; +gout[n*81+33] += + s[33]; +gout[n*81+34] += + s[34]; +gout[n*81+35] += + s[35]; +gout[n*81+36] += + s[36]; +gout[n*81+37] += + s[37]; +gout[n*81+38] += + s[38]; +gout[n*81+39] += + s[39]; +gout[n*81+40] += + s[40]; +gout[n*81+41] += + s[41]; +gout[n*81+42] += + s[42]; +gout[n*81+43] += + s[43]; +gout[n*81+44] += + s[44]; +gout[n*81+45] += + s[45]; +gout[n*81+46] += + s[46]; +gout[n*81+47] += + s[47]; +gout[n*81+48] += + s[48]; +gout[n*81+49] += + s[49]; +gout[n*81+50] += + s[50]; +gout[n*81+51] += + s[51]; +gout[n*81+52] += + s[52]; +gout[n*81+53] += + s[53]; +gout[n*81+54] += + s[54]; +gout[n*81+55] += + s[55]; +gout[n*81+56] += + s[56]; +gout[n*81+57] += + s[57]; +gout[n*81+58] += + s[58]; +gout[n*81+59] += + s[59]; +gout[n*81+60] += + s[60]; +gout[n*81+61] += + s[61]; +gout[n*81+62] += + s[62]; +gout[n*81+63] += + s[63]; +gout[n*81+64] += + s[64]; +gout[n*81+65] += + s[65]; +gout[n*81+66] += + s[66]; +gout[n*81+67] += + s[67]; +gout[n*81+68] += + s[68]; +gout[n*81+69] += + s[69]; +gout[n*81+70] += + s[70]; +gout[n*81+71] += + s[71]; +gout[n*81+72] += + s[72]; +gout[n*81+73] += + s[73]; +gout[n*81+74] += + s[74]; +gout[n*81+75] += + s[75]; +gout[n*81+76] += + s[76]; +gout[n*81+77] += + s[77]; +gout[n*81+78] += + s[78]; +gout[n*81+79] += + s[79]; +gout[n*81+80] += + s[80]; +}}} +void int1e_rinvipiprip_optimizer(CINTOpt **opt, FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env) { +FINT ng[] = {0, 4, 0, 0, 4, 1, 0, 81}; +CINTall_1e_optimizer(opt, ng, atm, natm, bas, nbas, env); +} +CACHE_SIZE_T int1e_rinvipiprip_cart(double *out, FINT *dims, FINT *shls, +FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env, CINTOpt *opt, double *cache) { +FINT ng[] = {0, 4, 0, 0, 4, 1, 0, 81}; +CINTEnvVars envs; +CINTinit_int1e_EnvVars(&envs, ng, shls, atm, natm, bas, nbas, env); +envs.f_gout = &CINTgout1e_int1e_rinvipiprip; +return CINT1e_drv(out, dims, &envs, cache, &c2s_cart_1e, 1); +} // int1e_rinvipiprip_cart +CACHE_SIZE_T int1e_rinvipiprip_sph(double *out, FINT *dims, FINT *shls, +FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env, CINTOpt *opt, double *cache) { +FINT ng[] = {0, 4, 0, 0, 4, 1, 0, 81}; +CINTEnvVars envs; +CINTinit_int1e_EnvVars(&envs, ng, shls, atm, natm, bas, nbas, env); +envs.f_gout = &CINTgout1e_int1e_rinvipiprip; +return CINT1e_drv(out, dims, &envs, cache, &c2s_sph_1e, 1); +} // int1e_rinvipiprip_sph +CACHE_SIZE_T int1e_rinvipiprip_spinor(double complex *out, FINT *dims, FINT *shls, +FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env, CINTOpt *opt, double *cache) { +FINT ng[] = {0, 4, 0, 0, 4, 1, 0, 81}; +CINTEnvVars envs; +CINTinit_int1e_EnvVars(&envs, ng, shls, atm, natm, bas, nbas, env); +envs.f_gout = &CINTgout1e_int1e_rinvipiprip; +return CINT1e_spinor_drv(out, dims, &envs, cache, &c2s_sf_1e, 1); +} // int1e_rinvipiprip_spinor +ALL_CINT1E(int1e_rinvipiprip) +ALL_CINT1E_FORTRAN_(int1e_rinvipiprip) +/* */ +void CINTgout1e_int1e_ipiprinvrip(double *gout, double *g, FINT *idx, CINTEnvVars *envs, FINT gout_empty) { +FINT nf = envs->nf; +FINT nrys_roots = envs->nrys_roots; +FINT ix, iy, iz, n, i; +double *g0 = g; +double *g1 = g0 + envs->g_size * 3; +double *g2 = g1 + envs->g_size * 3; +double *g3 = g2 + envs->g_size * 3; +double *g4 = g3 + envs->g_size * 3; +double *g5 = g4 + envs->g_size * 3; +double *g6 = g5 + envs->g_size * 3; +double *g7 = g6 + envs->g_size * 3; +double *g8 = g7 + envs->g_size * 3; +double *g9 = g8 + envs->g_size * 3; +double *g10 = g9 + envs->g_size * 3; +double *g11 = g10 + envs->g_size * 3; +double *g12 = g11 + envs->g_size * 3; +double *g13 = g12 + envs->g_size * 3; +double *g14 = g13 + envs->g_size * 3; +double *g15 = g14 + envs->g_size * 3; +G2E_D_J(g1, g0, envs->i_l+2, envs->j_l+0, 0, 0); +G2E_R_J(g2, g0, envs->i_l+2, envs->j_l+1, 0, 0); +G2E_D_J(g3, g2, envs->i_l+2, envs->j_l+0, 0, 0); +G2E_D_I(g4, g0, envs->i_l+1, envs->j_l, 0, 0); +G2E_D_I(g5, g1, envs->i_l+1, envs->j_l, 0, 0); +G2E_D_I(g6, g2, envs->i_l+1, envs->j_l, 0, 0); +G2E_D_I(g7, g3, envs->i_l+1, envs->j_l, 0, 0); +G2E_D_I(g8, g0, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g9, g1, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g10, g2, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g11, g3, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g12, g4, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g13, g5, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g14, g6, envs->i_l+0, envs->j_l, 0, 0); +G2E_D_I(g15, g7, envs->i_l+0, envs->j_l, 0, 0); +double s[81]; +for (n = 0; n < nf; n++) { +ix = idx[0+n*3]; +iy = idx[1+n*3]; +iz = idx[2+n*3]; +for (i = 0; i < 81; i++) { s[i] = 0; } +for (i = 0; i < nrys_roots; i++) { +s[0] += g15[ix+i] * g0[iy+i] * g0[iz+i]; +s[1] += g14[ix+i] * g1[iy+i] * g0[iz+i]; +s[2] += g14[ix+i] * g0[iy+i] * g1[iz+i]; +s[3] += g13[ix+i] * g2[iy+i] * g0[iz+i]; +s[4] += g12[ix+i] * g3[iy+i] * g0[iz+i]; +s[5] += g12[ix+i] * g2[iy+i] * g1[iz+i]; +s[6] += g13[ix+i] * g0[iy+i] * g2[iz+i]; +s[7] += g12[ix+i] * g1[iy+i] * g2[iz+i]; +s[8] += g12[ix+i] * g0[iy+i] * g3[iz+i]; +s[9] += g11[ix+i] * g4[iy+i] * g0[iz+i]; +s[10] += g10[ix+i] * g5[iy+i] * g0[iz+i]; +s[11] += g10[ix+i] * g4[iy+i] * g1[iz+i]; +s[12] += g9[ix+i] * g6[iy+i] * g0[iz+i]; +s[13] += g8[ix+i] * g7[iy+i] * g0[iz+i]; +s[14] += g8[ix+i] * g6[iy+i] * g1[iz+i]; +s[15] += g9[ix+i] * g4[iy+i] * g2[iz+i]; +s[16] += g8[ix+i] * g5[iy+i] * g2[iz+i]; +s[17] += g8[ix+i] * g4[iy+i] * g3[iz+i]; +s[18] += g11[ix+i] * g0[iy+i] * g4[iz+i]; +s[19] += g10[ix+i] * g1[iy+i] * g4[iz+i]; +s[20] += g10[ix+i] * g0[iy+i] * g5[iz+i]; +s[21] += g9[ix+i] * g2[iy+i] * g4[iz+i]; +s[22] += g8[ix+i] * g3[iy+i] * g4[iz+i]; +s[23] += g8[ix+i] * g2[iy+i] * g5[iz+i]; +s[24] += g9[ix+i] * g0[iy+i] * g6[iz+i]; +s[25] += g8[ix+i] * g1[iy+i] * g6[iz+i]; +s[26] += g8[ix+i] * g0[iy+i] * g7[iz+i]; +s[27] += g7[ix+i] * g8[iy+i] * g0[iz+i]; +s[28] += g6[ix+i] * g9[iy+i] * g0[iz+i]; +s[29] += g6[ix+i] * g8[iy+i] * g1[iz+i]; +s[30] += g5[ix+i] * g10[iy+i] * g0[iz+i]; +s[31] += g4[ix+i] * g11[iy+i] * g0[iz+i]; +s[32] += g4[ix+i] * g10[iy+i] * g1[iz+i]; +s[33] += g5[ix+i] * g8[iy+i] * g2[iz+i]; +s[34] += g4[ix+i] * g9[iy+i] * g2[iz+i]; +s[35] += g4[ix+i] * g8[iy+i] * g3[iz+i]; +s[36] += g3[ix+i] * g12[iy+i] * g0[iz+i]; +s[37] += g2[ix+i] * g13[iy+i] * g0[iz+i]; +s[38] += g2[ix+i] * g12[iy+i] * g1[iz+i]; +s[39] += g1[ix+i] * g14[iy+i] * g0[iz+i]; +s[40] += g0[ix+i] * g15[iy+i] * g0[iz+i]; +s[41] += g0[ix+i] * g14[iy+i] * g1[iz+i]; +s[42] += g1[ix+i] * g12[iy+i] * g2[iz+i]; +s[43] += g0[ix+i] * g13[iy+i] * g2[iz+i]; +s[44] += g0[ix+i] * g12[iy+i] * g3[iz+i]; +s[45] += g3[ix+i] * g8[iy+i] * g4[iz+i]; +s[46] += g2[ix+i] * g9[iy+i] * g4[iz+i]; +s[47] += g2[ix+i] * g8[iy+i] * g5[iz+i]; +s[48] += g1[ix+i] * g10[iy+i] * g4[iz+i]; +s[49] += g0[ix+i] * g11[iy+i] * g4[iz+i]; +s[50] += g0[ix+i] * g10[iy+i] * g5[iz+i]; +s[51] += g1[ix+i] * g8[iy+i] * g6[iz+i]; +s[52] += g0[ix+i] * g9[iy+i] * g6[iz+i]; +s[53] += g0[ix+i] * g8[iy+i] * g7[iz+i]; +s[54] += g7[ix+i] * g0[iy+i] * g8[iz+i]; +s[55] += g6[ix+i] * g1[iy+i] * g8[iz+i]; +s[56] += g6[ix+i] * g0[iy+i] * g9[iz+i]; +s[57] += g5[ix+i] * g2[iy+i] * g8[iz+i]; +s[58] += g4[ix+i] * g3[iy+i] * g8[iz+i]; +s[59] += g4[ix+i] * g2[iy+i] * g9[iz+i]; +s[60] += g5[ix+i] * g0[iy+i] * g10[iz+i]; +s[61] += g4[ix+i] * g1[iy+i] * g10[iz+i]; +s[62] += g4[ix+i] * g0[iy+i] * g11[iz+i]; +s[63] += g3[ix+i] * g4[iy+i] * g8[iz+i]; +s[64] += g2[ix+i] * g5[iy+i] * g8[iz+i]; +s[65] += g2[ix+i] * g4[iy+i] * g9[iz+i]; +s[66] += g1[ix+i] * g6[iy+i] * g8[iz+i]; +s[67] += g0[ix+i] * g7[iy+i] * g8[iz+i]; +s[68] += g0[ix+i] * g6[iy+i] * g9[iz+i]; +s[69] += g1[ix+i] * g4[iy+i] * g10[iz+i]; +s[70] += g0[ix+i] * g5[iy+i] * g10[iz+i]; +s[71] += g0[ix+i] * g4[iy+i] * g11[iz+i]; +s[72] += g3[ix+i] * g0[iy+i] * g12[iz+i]; +s[73] += g2[ix+i] * g1[iy+i] * g12[iz+i]; +s[74] += g2[ix+i] * g0[iy+i] * g13[iz+i]; +s[75] += g1[ix+i] * g2[iy+i] * g12[iz+i]; +s[76] += g0[ix+i] * g3[iy+i] * g12[iz+i]; +s[77] += g0[ix+i] * g2[iy+i] * g13[iz+i]; +s[78] += g1[ix+i] * g0[iy+i] * g14[iz+i]; +s[79] += g0[ix+i] * g1[iy+i] * g14[iz+i]; +s[80] += g0[ix+i] * g0[iy+i] * g15[iz+i]; +} +if (gout_empty) { +gout[n*81+0] = + s[0]; +gout[n*81+1] = + s[1]; +gout[n*81+2] = + s[2]; +gout[n*81+3] = + s[3]; +gout[n*81+4] = + s[4]; +gout[n*81+5] = + s[5]; +gout[n*81+6] = + s[6]; +gout[n*81+7] = + s[7]; +gout[n*81+8] = + s[8]; +gout[n*81+9] = + s[27]; +gout[n*81+10] = + s[28]; +gout[n*81+11] = + s[29]; +gout[n*81+12] = + s[30]; +gout[n*81+13] = + s[31]; +gout[n*81+14] = + s[32]; +gout[n*81+15] = + s[33]; +gout[n*81+16] = + s[34]; +gout[n*81+17] = + s[35]; +gout[n*81+18] = + s[54]; +gout[n*81+19] = + s[55]; +gout[n*81+20] = + s[56]; +gout[n*81+21] = + s[57]; +gout[n*81+22] = + s[58]; +gout[n*81+23] = + s[59]; +gout[n*81+24] = + s[60]; +gout[n*81+25] = + s[61]; +gout[n*81+26] = + s[62]; +gout[n*81+27] = + s[9]; +gout[n*81+28] = + s[10]; +gout[n*81+29] = + s[11]; +gout[n*81+30] = + s[12]; +gout[n*81+31] = + s[13]; +gout[n*81+32] = + s[14]; +gout[n*81+33] = + s[15]; +gout[n*81+34] = + s[16]; +gout[n*81+35] = + s[17]; +gout[n*81+36] = + s[36]; +gout[n*81+37] = + s[37]; +gout[n*81+38] = + s[38]; +gout[n*81+39] = + s[39]; +gout[n*81+40] = + s[40]; +gout[n*81+41] = + s[41]; +gout[n*81+42] = + s[42]; +gout[n*81+43] = + s[43]; +gout[n*81+44] = + s[44]; +gout[n*81+45] = + s[63]; +gout[n*81+46] = + s[64]; +gout[n*81+47] = + s[65]; +gout[n*81+48] = + s[66]; +gout[n*81+49] = + s[67]; +gout[n*81+50] = + s[68]; +gout[n*81+51] = + s[69]; +gout[n*81+52] = + s[70]; +gout[n*81+53] = + s[71]; +gout[n*81+54] = + s[18]; +gout[n*81+55] = + s[19]; +gout[n*81+56] = + s[20]; +gout[n*81+57] = + s[21]; +gout[n*81+58] = + s[22]; +gout[n*81+59] = + s[23]; +gout[n*81+60] = + s[24]; +gout[n*81+61] = + s[25]; +gout[n*81+62] = + s[26]; +gout[n*81+63] = + s[45]; +gout[n*81+64] = + s[46]; +gout[n*81+65] = + s[47]; +gout[n*81+66] = + s[48]; +gout[n*81+67] = + s[49]; +gout[n*81+68] = + s[50]; +gout[n*81+69] = + s[51]; +gout[n*81+70] = + s[52]; +gout[n*81+71] = + s[53]; +gout[n*81+72] = + s[72]; +gout[n*81+73] = + s[73]; +gout[n*81+74] = + s[74]; +gout[n*81+75] = + s[75]; +gout[n*81+76] = + s[76]; +gout[n*81+77] = + s[77]; +gout[n*81+78] = + s[78]; +gout[n*81+79] = + s[79]; +gout[n*81+80] = + s[80]; +} else { +gout[n*81+0] += + s[0]; +gout[n*81+1] += + s[1]; +gout[n*81+2] += + s[2]; +gout[n*81+3] += + s[3]; +gout[n*81+4] += + s[4]; +gout[n*81+5] += + s[5]; +gout[n*81+6] += + s[6]; +gout[n*81+7] += + s[7]; +gout[n*81+8] += + s[8]; +gout[n*81+9] += + s[27]; +gout[n*81+10] += + s[28]; +gout[n*81+11] += + s[29]; +gout[n*81+12] += + s[30]; +gout[n*81+13] += + s[31]; +gout[n*81+14] += + s[32]; +gout[n*81+15] += + s[33]; +gout[n*81+16] += + s[34]; +gout[n*81+17] += + s[35]; +gout[n*81+18] += + s[54]; +gout[n*81+19] += + s[55]; +gout[n*81+20] += + s[56]; +gout[n*81+21] += + s[57]; +gout[n*81+22] += + s[58]; +gout[n*81+23] += + s[59]; +gout[n*81+24] += + s[60]; +gout[n*81+25] += + s[61]; +gout[n*81+26] += + s[62]; +gout[n*81+27] += + s[9]; +gout[n*81+28] += + s[10]; +gout[n*81+29] += + s[11]; +gout[n*81+30] += + s[12]; +gout[n*81+31] += + s[13]; +gout[n*81+32] += + s[14]; +gout[n*81+33] += + s[15]; +gout[n*81+34] += + s[16]; +gout[n*81+35] += + s[17]; +gout[n*81+36] += + s[36]; +gout[n*81+37] += + s[37]; +gout[n*81+38] += + s[38]; +gout[n*81+39] += + s[39]; +gout[n*81+40] += + s[40]; +gout[n*81+41] += + s[41]; +gout[n*81+42] += + s[42]; +gout[n*81+43] += + s[43]; +gout[n*81+44] += + s[44]; +gout[n*81+45] += + s[63]; +gout[n*81+46] += + s[64]; +gout[n*81+47] += + s[65]; +gout[n*81+48] += + s[66]; +gout[n*81+49] += + s[67]; +gout[n*81+50] += + s[68]; +gout[n*81+51] += + s[69]; +gout[n*81+52] += + s[70]; +gout[n*81+53] += + s[71]; +gout[n*81+54] += + s[18]; +gout[n*81+55] += + s[19]; +gout[n*81+56] += + s[20]; +gout[n*81+57] += + s[21]; +gout[n*81+58] += + s[22]; +gout[n*81+59] += + s[23]; +gout[n*81+60] += + s[24]; +gout[n*81+61] += + s[25]; +gout[n*81+62] += + s[26]; +gout[n*81+63] += + s[45]; +gout[n*81+64] += + s[46]; +gout[n*81+65] += + s[47]; +gout[n*81+66] += + s[48]; +gout[n*81+67] += + s[49]; +gout[n*81+68] += + s[50]; +gout[n*81+69] += + s[51]; +gout[n*81+70] += + s[52]; +gout[n*81+71] += + s[53]; +gout[n*81+72] += + s[72]; +gout[n*81+73] += + s[73]; +gout[n*81+74] += + s[74]; +gout[n*81+75] += + s[75]; +gout[n*81+76] += + s[76]; +gout[n*81+77] += + s[77]; +gout[n*81+78] += + s[78]; +gout[n*81+79] += + s[79]; +gout[n*81+80] += + s[80]; +}}} +void int1e_ipiprinvrip_optimizer(CINTOpt **opt, FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env) { +FINT ng[] = {2, 2, 0, 0, 4, 1, 0, 81}; +CINTall_1e_optimizer(opt, ng, atm, natm, bas, nbas, env); +} +CACHE_SIZE_T int1e_ipiprinvrip_cart(double *out, FINT *dims, FINT *shls, +FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env, CINTOpt *opt, double *cache) { +FINT ng[] = {2, 2, 0, 0, 4, 1, 0, 81}; +CINTEnvVars envs; +CINTinit_int1e_EnvVars(&envs, ng, shls, atm, natm, bas, nbas, env); +envs.f_gout = &CINTgout1e_int1e_ipiprinvrip; +return CINT1e_drv(out, dims, &envs, cache, &c2s_cart_1e, 1); +} // int1e_ipiprinvrip_cart +CACHE_SIZE_T int1e_ipiprinvrip_sph(double *out, FINT *dims, FINT *shls, +FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env, CINTOpt *opt, double *cache) { +FINT ng[] = {2, 2, 0, 0, 4, 1, 0, 81}; +CINTEnvVars envs; +CINTinit_int1e_EnvVars(&envs, ng, shls, atm, natm, bas, nbas, env); +envs.f_gout = &CINTgout1e_int1e_ipiprinvrip; +return CINT1e_drv(out, dims, &envs, cache, &c2s_sph_1e, 1); +} // int1e_ipiprinvrip_sph +CACHE_SIZE_T int1e_ipiprinvrip_spinor(double complex *out, FINT *dims, FINT *shls, +FINT *atm, FINT natm, FINT *bas, FINT nbas, double *env, CINTOpt *opt, double *cache) { +FINT ng[] = {2, 2, 0, 0, 4, 1, 0, 81}; +CINTEnvVars envs; +CINTinit_int1e_EnvVars(&envs, ng, shls, atm, natm, bas, nbas, env); +envs.f_gout = &CINTgout1e_int1e_ipiprinvrip; +return CINT1e_spinor_drv(out, dims, &envs, cache, &c2s_sf_1e, 1); +} // int1e_ipiprinvrip_spinor +ALL_CINT1E(int1e_ipiprinvrip) +ALL_CINT1E_FORTRAN_(int1e_ipiprinvrip)